Skip to content

danielabeltrancr/Twitter_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitter

Después de evaluar tiempo y esfuerzos, el equipo de Launch X ha decidido crear la aplicación Twitter. Para ello han definido la primera etapa del sprint con los siguientes requerimientos a desarrollar:

⭐️ Sprint 1: Agregar modelos

Requerimientos del Sprint 1: Creación de un modelo

✔️ Requerimiento 1: Se necesita un modelo User para guardar la información de un usuario de nuestra app: id, username, name,bio, dateCreated y lastUpdated.

Solución

🔵 Prueba para el requerimiento

Mediante el uso de la técnica TDD, escribe el código para la prueba de acuerdo al requerimiento y posteriormente, ejecuta la prueba.

Prueba para el requerimiento 1

🔵 Clase para el requerimiento

Para corregir el error arrojado al ejecutar la prueba, se crea un script nuevo con la clase User y un constructor que guarde los parámetros solicitados en el requerimiento.

Clase para el requerimiento 1

✔️ Requerimiento 2: Las propiedades dateCreated y lastUpdated deberán ser datos de tipo fecha que guarden el momento en que se instancie un nuevo objeto de la clase User.

Solución

Modifica el constructor de la clase creada y asigna un valor por defecto a estos atributos usando new Date().

🔵 Prueba para el requerimiento

Prueba para el requerimiento 2

🔵 Clase para el requerimiento

Clase para el requerimiento 2

✔️ Requerimiento 3: Cada objeto tipo user necesita los siguietes gettes: getUsername, getBio, getDateCreated, getLastUpdated.

Solución

Agrega los getters regresando la propiedad indicada, no olvides usar this.

🔵 Prueba para el requerimiento

Prueba para el requerimiento 3

🔵 Clase para el requerimiento

Clase para el requerimiento 3

✔️ Requerimiento 4: Cada objeto necesita los siguientes setters: setUsername y setBio, para actualizar dichas propiedades.

Solución

Agrega los setters usando la palabra set y modificando el atributo indicado.

🔵 Prueba para el requerimiento

Prueba para el requerimiento 4

🔵 Clase para el requerimiento

Clase para el requerimiento 4

⭐️ Sprint 2: Agregar servicios

Requerimientos del Sprint 2: Interacción con el modelo

✔️ Requerimiento 1: Crear un nuevo usuario con lo ya definido en el sprint anterior, usando una nueva clase llamada UserService. Criterios de aceptación:

  1. Esta clase deberá tener un método create que se pueda usar sin instanciar (static method), y que reciba solo los parámetros del id, username y name.
  2. El valor de bio deberá ser por default para todos los user creados.
Solución

🔵 Prueba para el requerimiento

Prueba para el requerimiento 1

🔵 Clase para el requerimiento

Clase para el requerimiento 1

✔️ Requerimiento 2: Agregar un nuevo método estático en UserService llamado getInfo que al recibir un objeto de la clase User, me regrese una lista con todos los valores de los atributos de dicho objeto.

Solución

🔵 Prueba para el requerimiento

Prueba para el requerimiento 2

🔵 Clase para el requerimiento

Clase para el requerimiento 2

✔️ Requerimiento 3: Agregar un nuevo método estático en UserService llamado updateUserUsername, que reciba un objeto de la clase User y un nuevo string, que actualizará el valor de username.

Solución

🔵 Prueba para el requerimiento

Prueba para el requerimiento 3

🔵 Clase para el requerimiento

Clase para el requerimiento 3

✔️ Requerimiento 4: Agregar un nuevo método estático en UserService llamado getAllUsernames, que recibirá una lista de objetos de la clase User, y regresará la lista de todos los usernames de dichos objetos.

Solución

🔵 Prueba para el requerimiento

Prueba para el requerimiento 4

🔵 Clase para el requerimiento

Clase para el requerimiento 4

⭐️ Sprint 3: Agregar vistas

Requerimientos

Crea una clase llamada UserView que servirá para interactuar con el modelo User a través de UserService. Crea un método en esta clase llamado createUser que sirva para crear un nuevo objeto user a partir de un payload, es decir, un objeto que contenga información para crearlo.

✔️ Requerimiento 1: Valida que al enviar en el payload un valor null, obtenga un objeto con la llave error y el valor indique payload no existe.

Solución

🔵 Prueba para el requerimiento Prueba para el requerimiento 1

🔵 Clase para el requerimiento Clase para el requerimiento 1

✔️ Requerimiento 2: Valida que un payload contenga en alguna de las llaves username, name, o id un valor en null. Si hay un valor null regresa un objeto con la llave error y que indique el texto: necesitan tener un valor válido.

Solución

🔵 Prueba para el requerimiento Prueba para el requerimiento 2

🔵 Clase para el requerimiento Clase para el requerimiento 2

✔️ Requerimiento 3: Valida que un payload con algunas de las propiedades necesarias regrese un objeto con la llave error indicando necesitan tener un valor válido.

Solución

🔵 Prueba para el requerimiento Prueba para el requerimiento 3

✔️ Requerimiento 4: Verifica que se pueda crear un objeto User, al enviar un payload con las siguientes propiedades: username, id y name.

Solución

🔵 Prueba para el requerimiento Prueba para el requerimiento 4

🔵 Clase para el requerimiento Clase para el requerimiento 4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published