示例#1
0
    def test_iniciar_proyecto_en_configuracion_sin_fases(
            self, usuario, rol_de_proyecto):
        """
        Prueba unitaria para verificar que al momento de iniciar un proyecto sin fases con un estado "En Configuracion",
        este no cambie su estado.

        Se espera:
            Que el proyecto no cambie de estado.

        Mensaje de error:
            No se puede Iniciar el Proyecto sin fases.
        """
        proyecto_prueba = Proyecto(nombre='IS2',
                                   descripcion='Descripcion',
                                   fecha_de_creacion=timezone.now(),
                                   creador=usuario,
                                   estado=EstadoDeProyecto.CONFIGURACION)
        comite = Comite(proyecto=proyecto_prueba)
        proyecto_prueba.save()
        comite.save()
        try:
            proyecto_prueba.iniciar()
        except:
            pass
        assert proyecto_prueba.estado == EstadoDeProyecto.CONFIGURACION, 'No se puede Iniciar el Proyecto sin fases'
示例#2
0
    def test_info_proyecto_view(self, gerente_loggeado, proyecto):
        """
        Prueba unitaria que comprueba que no exista error al acceder a la URL de ver informacion del proyecto.

        Resultado Esperado:
            - Una respuesta HTTP con codigo de estado 200

        Mensaje de Error:
            - No es posible acceder a la URL

        """
        comite = Comite()
        comite.proyecto = proyecto
        comite.save()
        response = gerente_loggeado.get(
            reverse('info_proyecto', args=(proyecto.id, )))
        assert response.status_code == HTTPStatus.OK, 'Hubo un error al tratar de acceder a la URL '
示例#3
0
    def test_eliminar_participante_view(self, gerente_loggeado, proyecto,
                                        usuario):
        """
        Prueba unitaria que comprueba que no exista error al acceder a la URL de eliminar un participante de un proyecto.

        Resultado Esperado:
            - Una respuesta HTTP con codigo de estado 200

        Mensaje de Error:
            - No es posible acceder a la URL

        """
        comite = Comite()
        comite.proyecto = proyecto
        comite.save()
        participante = proyecto.get_participante(usuario)

        response = gerente_loggeado.get(
            reverse('eliminar_participante',
                    args=(proyecto.id, participante.id)))
        assert response.status_code == HTTPStatus.OK, 'Hubo un error al tratar de acceder a la URL '
示例#4
0
    def test_iniciar_proyecto_en_configuracion(self, usuario, rol_de_proyecto):
        """
        Prueba unitaria para verificar que al momento de iniciar un proyecto con al menos una fase y un comite de
        cambios, este cambie de estado "En Configuracion", a "Iniciado".

        Se espera:
            Que el proyecto cambie a estado "Iniciado".

        Mensaje de error:
            No se puede iniciar el Proyecto.
        """
        proyecto_prueba = Proyecto(nombre='IS2',
                                   descripcion='Descripcion',
                                   fecha_de_creacion=timezone.now(),
                                   creador=usuario,
                                   estado=EstadoDeProyecto.CONFIGURACION)
        proyecto_prueba.save()

        user1 = User(username='******', email='*****@*****.**')
        user1.set_password('password123')
        user1.save()
        user2 = User(username='******', email='*****@*****.**')
        user2.set_password('password123')
        user2.save()
        user3 = User(username='******', email='*****@*****.**')
        user3.set_password('password123')
        user3.save()
        participante1 = Participante(proyecto=proyecto_prueba, usuario=user1)
        participante1.save()
        participante2 = Participante(proyecto=proyecto_prueba, usuario=user2)
        participante2.save()
        participante3 = Participante(proyecto=proyecto_prueba, usuario=user3)
        participante3.save()
        comite = Comite(proyecto=proyecto_prueba)
        comite.save()
        comite.miembros.add(participante1, participante2, participante3)
        comite.save()

        fase_1 = Fase(nombre='Analisis',
                      proyecto=proyecto_prueba,
                      fase_cerrada=False,
                      puede_cerrarse=False)
        fase_1.fase_anterior = None
        fase_1.save()
        proyecto_prueba.iniciar()
        assert proyecto_prueba.estado == EstadoDeProyecto.INICIADO, 'No se puede iniciar el Proyecto'
示例#5
0
    def test_no_es_miembro(self, proyecto, usuario):
        """
        Prueba unitaria que verifica el funcionamiento del método es_miembro de un comite.

        Resultado Esperado:
            - El método retorna False debido a que el participante no es miembro del comite.

        Mensaje de error:
            - El método es_miembro de un comite reconoce al usuario como miembro erroneamente

        """
        comite = Comite()
        comite.proyecto = proyecto
        comite.save()
        participante = proyecto.get_participante(usuario)

        assert comite.es_miembro(
            participante
        ) == False, 'El método es_miembro de un comite reconoce al usuario como miembro erroneamente'