def test_cerrar_fase(self, rol_de_proyecto, rs_admin, fase, resultado_esperado): """ Prueba unitaria encargada de probar el funcionamiento del metodo cerrar de la clase Fase, encargada de verificar si una fase del proyecto puede ser cerrada. Resultado Esperado: -Que el atributo de la Fase fase_cerrada cambie su valor a True Mensajes de Error: -La fase anterior {self.fase_anterior.nombre} todavia esta sin cerrar, si la fase anterior no esta cerrada -El item {item.version.nombre} no esta en una Linea Base, si el item no esta en una linea base -El item {item.version.nombre} no es trazable a la siguiente fase, si el item no tiene sucesores """ rol_de_proyecto_factory(tc.rol_de_proyecto) user_factory(tc.user['username'], tc.user['password'], tc.user['email'], rs_admin.nombre) user_factory(tc.user2['username'], tc.user2['password'], tc.user2['email'], rs_admin.nombre) user_factory(tc.gerente['username'], tc.gerente['password'], tc.gerente['email'], rs_admin.nombre) proyecto = proyecto_factory(tc.proyecto) fase = Fase.objects.get(nombre=fase) with pytest.raises(Exception) as excinfo: fase.cerrar() condicion = all(mensaje in resultado_esperado for mensaje in list(excinfo.value.args)[0]) assert condicion, f'El metodo no lanza las exceptiones corresponientes, se espera los siguientes mensajes: \n' \ f'{resultado_esperado}'
def test_es_ultima_fase(self, rol_de_proyecto, rs_admin, fase, resultado_esperado): """ Prueba unitaria encargada de probar el funcionamiento del metodo es_ultima_fase, de la clase Fase, encargada de verificar si la fase del proyecto es la ultima. Resultado Esperado: -Que retorne verdadero si la fase es la ultima del proyecto Mensajes de Error: -'El metodo lanza una respuesta incorrecta, se esperaba un {resultado_esperado}, pero devuelve un {condicion} """ rol_de_proyecto_factory(tc.rol_de_proyecto) user_factory(tc.user['username'], tc.user['password'], tc.user['email'], rs_admin.nombre) user_factory(tc.user2['username'], tc.user2['password'], tc.user2['email'], rs_admin.nombre) user_factory(tc.gerente['username'], tc.gerente['password'], tc.gerente['email'], rs_admin.nombre) proyecto = proyecto_factory(tc.proyecto) fase = Fase.objects.get(nombre=fase) condicion = fase.es_ultima_fase() assert condicion == resultado_esperado, f'El metodo lanza una respuesta incorrecta, se esperaba un {resultado_esperado}' \ f' pero devuelve un {condicion}'
def usuario(rs_admin): return user_factory('usuario_test', 'password123', '*****@*****.**', rs_admin.nombre)
def gerente(rs_admin): return user_factory(tc.gerente['username'], tc.gerente['password'], tc.gerente['email'], tc.gerente['rol_de_sistema'])
def usuario2(rs_admin): return user_factory(tc.user2['username'], tc.user2['password'], tc.user2['email'], tc.user2['rol_de_sistema'])
def gerente(rs_admin): return user_factory('gerente', 'password123', '*****@*****.**', rs_admin.nombre)
def usuario_participante(rs_admin): return user_factory(tc.user['username'], tc.user['password'], tc.user['email'], rs_admin.nombre)