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_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_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'