def test_asignar_flujo(self): """ Prueba de asignar un Flujo a un User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() #creacion del flujo de prueba flow = Flujos() flow.proyecto = proyecto flow.descripcion = 'Desarrollo de software' flow.estado = True flow.plantilla = False flow.save() us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.flujo = flow.id us.save() self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, flujo=flow.id).exists(), "El User Story no se ha creado correctamente")
def test_campos_obligatorios(self): """ Prueba para confirmar que los campos obligatorios se han guardado correctamente """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.save() #Controlar que el campo descripcion se ha guardado correctamente self.assertEqual(us.descripcion, 'test user story', "La descripcion no se ha guardado correctamente") #Controlar que el campo de codigo se ha guardado correctamente self.assertEqual(us.codigo, 'us1_p1', "El codigo no se ha guardado correctamente") #Controlar que el campo de tiempo Estimado se ha guardado correctamente self.assertEqual(us.tiempo_Estimado, 50, "El tiempo Estimado no se ha guardado correctamente") #Controlar que el campo del proyecto se ha guardado correctamente self.assertEqual(us.proyecto_id, proyecto.id, "El id del proyecto no se ha guardado correctamente")
def test_crearHU(self): """ Prueba de creacion de un User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.save() #Se comprueba que el proyecto se haya creado con exito self.assertTrue( Proyectos.objects.filter(pk=proyecto.id).exists(), "El Proyecto no se ha creado correctamente") #Se comprueba que el User Story se haya creado con exito self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id).exists(), "El User Story no se ha creado correctamente")
def test_notificarResponsableHU(self): """ Prueba envio de mail de notificacion al responsable de HU """ mail.outbox = [] #Se crea usuario para la prueba user = User() user.username = "******" user.password = "******" user.email = "*****@*****.**" user.is_active = True user.save() # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() #Se crea un User Story para la prueba us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.usuario_Asignado = user.id us.save() mail.send_mail( 'SGPA-Asignacion a User Story', 'Su usuario: ' + user.username + ', ha sido asignado como el responsable del user story: ' + us.descripcion + ', del proyecto: ' + proyecto.nombre, '*****@*****.**', [user.email], fail_silently=False) #Verifica que el subject del mensaje para el Cliente es correcto self.assertEqual(mail.outbox[0].subject, 'SGPA-Asignacion a User Story') #verifica que se ha enviado correctamente el cuerpo del mensaje self.assertEqual( mail.outbox[0].body, 'Su usuario: ' + user.username + ', ha sido asignado como el responsable del user story: ' + us.descripcion + ', del proyecto: ' + proyecto.nombre)
def test_asignar_usuario(self): """ Prueba de asignar un usuario a un User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() #Se crea un usuario para la prueba user = User() user.username = "******" user.password = "******" user.email = "*****@*****.**" user.is_active = True user.save() #Se crea un rol para la prueba rol = Roles() rol.descripcion = "Scrum Master" rol.estado = True rol.save() #Se crea el Equipo equipo = Equipo() equipo.proyecto = proyecto equipo.usuario = user equipo.rol = rol equipo.save() #Se crea el User Story us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.usuario_Asignado = user.id us.save() self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, usuario_Asignado=user.id).exists(), "El User Story no se ha asignado correctamente")
def test_crear_registro(self): """ comprueba si un regsitro se ha creado correctamente """ #Se crea un usuario para la prueba us = User() us.username = "******" us.password = "******" us.email = "*****@*****.**" us.is_active = True us.save() # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() uh = UserStory() uh.descripcion = 'test user story' uh.codigo = 'us1_p1' uh.tiempo_Estimado = 50 uh.proyecto_id = proyecto.id uh.usuario_Asignado = us.id uh.save() ur = UserStoryRegistro() ur.idr = uh.id copiarHU(uh, ur, us) ur.descripcion_tarea = 'Esto es una prueba de un registro de HU' ur.tiempo_Real = 5 ur.save() self.assertTrue( UserStoryRegistro.objects.filter( descripcion_tarea='Esto es una prueba de un registro de HU', tiempo_Real=5, proyecto_id=proyecto.id, idr=uh.id).exists(), "El Registro de User Story no se ha creado correctamente")
def add_hu(proyecto_id, codigo, nombre, descripcion): us = UserStory() us.nombre = nombre us.descripcion = descripcion us.codigo = codigo us.tiempo_Estimado = random.randint(20, 70) us.valor_Negocio = 5 us.valor_Tecnico = 5 us.prioridad = Prioridad.objects.get(pk=3) us.proyecto_id = proyecto_id us.estado_scrum = Estados_Scrum.objects.get(pk=3) us.save()
def test_cambiar_estado(self): """ prueba de cambio de estado de un User Story """ #Se crea un flujo para la prueba flow = Flujos() flow.descripcion = 'Desarrollo de software' flow.estado = True flow.plantilla = True flow.save() #Se crea las actividades del flujo act = Actividades() act.descripcion = 'Analisis' act.estado = True act.flujo = flow act.plantilla = True act.save() act = Actividades() act.descripcion = 'Desarrollo' act.estado = True act.flujo = flow act.plantilla = True act.save() est = Estados() est.descripcion = 'To Do' est.save() est = Estados() est.descripcion = 'Doing' est.save() est = Estados() est.descripcion = 'Done' est.save() #Se crea un HU para la prueba us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.save() actividadeslist = Actividades.objects.filter(flujo_id=flow.id) counter = 0 for act in actividadeslist: counter = counter + 1 if act.descripcion == 'Desarrollo': #se guarda el indice de la actividad dentro del flujo us.f_actividad = counter us.f_a_estado = Estados.objects.get(pk=2).id us.save() self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, f_a_estado=2, f_actividad=2).exists(), "El User Story no se ha creado correctamente")
def test_cambiar_usuario_asignado(self): """ Prueba de asignar un usuario a un User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() #Se crea un usuario para la prueba user0 = User() user0.username = "******" user0.password = "******" user0.email = "*****@*****.**" user0.is_active = True user0.save() user1 = User() user1.username = "******" user1.password = "******" user1.email = "*****@*****.**" user1.is_active = True user1.save() user2 = User() user2.username = "******" user2.password = "******" user2.email = "*****@*****.**" user2.is_active = True user2.save() #Se crea un rol para la prueba rol = Roles() rol.descripcion = "Developer" rol.estado = True rol.save() #Se crea el Equipo equipo = Equipo() equipo.proyecto = proyecto equipo.usuario = user0 equipo.rol = rol equipo.save() equipo = Equipo() equipo.proyecto = proyecto equipo.usuario = user1 equipo.rol = rol equipo.save() #Se crea el User Story us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.usuario_Asignado = user0.id us.save() self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, usuario_Asignado=user0.id).exists(), "El User Story no se ha asignado correctamente") us = UserStory.objects.get(codigo='us1_p1') equipo = Equipo.objects.filter(proyecto_id=proyecto.id) for eq in equipo: if eq.usuario_id == user1.id: us.usuario_Asignado = eq.usuario_id us.save() break self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, usuario_Asignado=user1.id).exists(), "El usuario asignado del User Story no se ha cambiado correctamente" ) us = UserStory.objects.get(codigo='us1_p1') equipo = Equipo.objects.filter(proyecto_id=proyecto.id) for eq in equipo: if eq.usuario_id == user2.id: us.usuario_Asignado = eq.usuario_id us.save() break self.assertFalse( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, usuario_Asignado=user2.id).exists(), "El User Story se asigno a un Usuario fuera del proyecto")
def test_eliminarHU(self): """ Prueba de que un User Story haya cambiado su estado a Inactivo """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.save() us.estado = False us.save() #Se comprueba de que efectivamente se haya cambiado el estado del User Story self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id, estado=False).exists(), "El User Story no se ha eliminado correctamente")
def test_modificarHU(self): """ Prueba de modificacion de User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.save() us.descripcion = 'test 2 user story' us.codigo = 'us1_p1 2' us.tiempo_Estimado = 51 us.save() #Se prueba que exista un User Story con los nuevos campos self.assertTrue( UserStory.objects.filter(descripcion='test 2 user story', codigo='us1_p1 2', tiempo_Estimado=51, proyecto_id=proyecto.id).exists(), "El User Story no se ha modificado correctamente") #Se comprueba que efectivamente se hayan modificado los campos, y la combinacion de campos ya modificados, no exista self.assertFalse( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, proyecto_id=proyecto.id).exists(), "El User Story no se ha modificado correctamente")
def test_cambiar_prioridad(self): """ prueba del cambio de prioridad de un User Story """ # Se crea un proyecto para la prueba proyecto = Proyectos() proyecto.nombre = 'test' proyecto.fecha_ini = '2015-01-01' proyecto.fecha_est_fin = '2015-01-02' proyecto.descripcion = 'una prueba de proyecto' proyecto.observaciones = 'ninguna' proyecto.save() #Se crea el User Story us = UserStory() us.descripcion = 'test user story' us.codigo = 'us1_p1' us.tiempo_Estimado = 50 us.proyecto_id = proyecto.id us.save() pri = Prioridad() pri.descripcion = 'Baja' pri.save() pri = Prioridad() pri.descripcion = 'Media' pri.save() pri = Prioridad() pri.descripcion = 'Alta' pri.save() us.prioridad = Prioridad.objects.get(descripcion='Media') us.save() self.assertTrue( UserStory.objects.filter(descripcion='test user story', codigo='us1_p1', tiempo_Estimado=50, prioridad=2).exists(), "La prioridad del User Story no se ha asignado correctamente")