def test_view_aprobar_user_story(self): """ Funcion que realiza el test sobre la vista aprobar_user_story que aprueba un user story finalizado """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() flujo = Flujo(nombre='flujo') flujo.save() tarea = Tarea.objects.create(user_story=user_story, descripcion='Una descripcion', horas_de_trabajo=20, actividad=actividad, estado=estado, sprint=sprint, flujo=flujo) tarea.save() user_story.estado = 'Aprobado' user_story.save() self.assertEqual(user_story.estado, 'Aprobado') print 'Test de aprobar_user_story realizado exitosamente'
def test_view_revertir_estado(self): """ Funcion que realiza el test sobre la vista revertir estado que cambia el estado al user story a un estado anterior """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() flujo = Flujo(nombre='flujo') flujo.save() tarea = Tarea.objects.create(user_story=user_story, descripcion='Una descripcion', horas_de_trabajo=20, actividad=actividad, estado=estado, sprint=sprint, flujo=flujo) tarea.save() actividad2 = Actividad(nombre='actividad2') actividad2.save() estado2 = Estado(nombre='estado2') estado2.save() detalle = UserStoryDetalle(user_story=user_story, actividad=actividad, estado=estado) detalle.save() detalle.actividad = actividad2 detalle.estado = estado2 detalle.save() detalle.actividad = actividad detalle.estado = estado detalle.save() self.assertEqual(detalle.actividad, actividad) self.assertEqual(detalle.estado, estado) print 'Test de revertir_estado realizado exitosamente'
def test_view_AgregarNota(self): """ Funcion que realiza el test sobre la vista AgregarNota que registra una nota al user story """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() flujo = Flujo(nombre='flujo') flujo.save() nota = Nota.objects.create(user_story=user_story, texto='texto', usuario=user4) nota.save() self.assertEqual(nota.user_story, user_story) self.assertEqual(nota.texto, 'texto') self.assertEqual(nota.usuario, user4) print 'Test de AgregarNota realizado exitosamente'
def test_view_finalizar_sprint(self): """ Funcion que realiza el test sobre la funcion finalizar_sprint que finaliza un sprint dado """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() sprint.estado = 'Finalizado' sprint.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() detalle = UserStoryDetalle(user_story=user_story, actividad=actividad, estado=estado) detalle.save() self.assertEqual(user_story, detalle.user_story) print 'Test de finalizar_sprint realizado exitosamente'
def test_view_RegistarTarea(self): """ Funcion que realiza el test sobre la vista RegistrarTarea que registra una tarea al user story """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() flujo = Flujo(nombre='flujo') flujo.save() tarea = Tarea.objects.create(user_story=user_story, descripcion='Una descripcion', horas_de_trabajo=20, actividad=actividad, estado=estado, sprint=sprint, flujo=flujo) tarea.save() self.assertEqual(tarea.user_story, user_story) self.assertEqual(tarea.descripcion, 'Una descripcion') self.assertEqual(tarea.horas_de_trabajo, 20) print 'Test de RegistrarTarea realizado exitosamente'
def test_crear_tabla_kanban(self): tabla = Flujo(Nombre='flujo_prueba', Estado = 'activo', Descripcion = 'AAAAAAAAA') tabla.save() actividad_1 = Actividad(Nombre = 'actividad 1', Orden = 1, idTabla = tabla.id) actividad_1.save() actividad_2 = Actividad(Nombre = 'actividad 2', Orden = 2, idTabla = tabla.id) actividad_2.save() actividad_3 = Actividad(Nombre = 'actividad 3', Orden = 3, idTabla = tabla.id) actividad_3.save() tabla.Actividades.add(actividad_1) tabla.Actividades.add(actividad_2) tabla.Actividades.add(actividad_3) tabla.save() tabla_prueba = Flujo.objects.get(Nombre='flujo_prueba') # Comprueba si se creo la tabla correcatamente self.assertTrue( len(Flujo.objects.all()) == 1) # Comprueba que las actividades se crearon y agregaron correcatamente self.assertTrue( len( tabla_prueba.Actividades.all() ) == 3 ) actividad_prueba = tabla_prueba.Actividades.get(Nombre = 'actividad 1') self.assertTrue( actividad_prueba.Orden == 1 ) actividad_prueba = tabla_prueba.Actividades.get(Nombre = 'actividad 2') self.assertTrue( actividad_prueba.Orden == 2 ) actividad_prueba = tabla_prueba.Actividades.get(Nombre = 'actividad 3') self.assertTrue( actividad_prueba.Orden == 3 )
def test_view_iniciar_sprint(self): """ Funcion que realiza el test sobre la funcion iniciar_sprint que inicia un sprint dado """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user4 = User.objects.create_user(username='******', email='*****@*****.**', password='******') # se crea un usuario proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user4) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=20, proyecto=proyecto, sprint=sprint, usuario=user4) user_story.save() sprint.estado = 'Activo' sprint.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() detalle = UserStoryDetalle(user_story=user_story, actividad=actividad, estado=estado) detalle.save() self.assertEqual(user_story, detalle.user_story) print 'Test de iniciar_sprint realizado exitosamente'
def test_view_TareasIndexView(self): """ Funcion que realiza el test sobre la vista TareasIndexView que genera lista de tareas del user stories del sprint """ # se loguea el usuario testuser user = self.client.login(username='******', password='******') self.assertTrue(user) user2 = User.objects.create_user(username='******', email='*****@*****.**', password='******') proyecto = Proyecto.objects.create(codigo='codi', nombre_corto='test', nombre_largo='test', cancelado=False, scrum_master=user2) proyecto.save() sprint = Sprint.objects.create(nombre='sprint', duracion=15, proyecto=proyecto) sprint.save() user_story = UserStory.objects.create(nombre='us', descripcion='desc', valor_negocio=2, proyecto=proyecto, sprint=sprint) user_story.save() group = Group.objects.create(name='grupo') group.save() rolProyecto = RolProyecto(group=group, es_rol_proyecto=True) rolProyecto.save() row_rol = RolProyecto_Proyecto(user=self.user, rol_proyecto=rolProyecto, proyecto=proyecto) row_rol.save() actividad = Actividad(nombre='actividad') actividad.save() estado = Estado(nombre='estado') estado.save() flujo = Flujo(nombre='flujo') flujo.save() for i in range(10): tarea = Tarea.objects.create(user_story=user_story, descripcion='Una descripcion', horas_de_trabajo=20, actividad=actividad, estado=estado, sprint=sprint, flujo=flujo) tarea.save() self.assertEqual(tarea.user_story, user_story) self.assertEqual(tarea.descripcion, 'Una descripcion') self.assertEqual(tarea.horas_de_trabajo, 20) # verificamos que la vista devuelva el template adecuado request = self.factory.get( reverse('sprints:ver_tareas', args=[proyecto.pk, sprint.pk, user_story.pk])) request.user = self.user response = TareasIndexView.as_view()(request, pk_proyecto=proyecto.pk, pk_sprint=sprint.pk, pk_user_story=user_story.pk) self.assertEqual(response.status_code, 200) self.assertEqual(response.template_name[0], 'sprints/ver_tareas.html') # verificamos los user stories retornados self.assertEqual(len(response.context_data['object_list']), 10) print 'Test de TareasIndexView de Sprints realizado exitosamente'