def _setup_objetos(self, cria_banco):
     controller_aluno = Controller(Aluno(aluno_nome_1), cria_banco)
     controller_aluno.salva()
     aluno = controller_aluno.pega_registro_por_id(id_=1)
     controller_curso = Controller(Curso(curso_nome_1), cria_banco)
     controller_curso.salva()
     curso = controller_curso.pega_registro_por_id(id_=1)
     Controller(InscricaoAlunoCurso(aluno_id=1, curso_id=1),
                cria_banco).salva()
     controller_materia = Controller(Materia(materia_nome_1), cria_banco)
     controller_materia.salva()
     materia_1 = controller_materia.pega_registro_por_id(id_=1)
     controller_materia = Controller(Materia(materia_nome_1), cria_banco)
     controller_materia.salva()
     materia_2 = controller_materia.pega_registro_por_id(id_=2)
     controller_materia = Controller(Materia(materia_nome_1), cria_banco)
     controller_materia.salva()
     materia_3 = controller_materia.pega_registro_por_id(id_=3)
     Controller(AssociaCursoMateria(curso_id=1, materia_id=1),
                cria_banco).salva()
     Controller(AssociaCursoMateria(curso_id=1, materia_id=2),
                cria_banco).salva()
     Controller(AssociaCursoMateria(curso_id=1, materia_id=3),
                cria_banco).salva()
     controller_coordenador_geral = Controller(CoordenadorGeral(),
                                               cria_banco)
     controller_coordenador_geral.salva()
     coordenador_geral = controller_coordenador_geral \
         .pega_registro_por_id(id_=1)
     curso.atualiza_materias(materia_1)
     curso.atualiza_materias(materia_2)
     curso.atualiza_materias(materia_3)
     aluno.inscreve_curso(curso)
     return coordenador_geral
Пример #2
0
 def test_aluno_pode_atualizar_situacao(self, cria_curso_materias_real):
     aluno, curso, _ = cria_curso_materias_real
     expected = "trancado"
     Controller(InscricaoAlunoCurso(aluno, curso), self.bd).salva()
     self._atualiza_aluno_por_cli(aluno.pega_id(), situacao=expected)
     aluno = Controller(Aluno(), self.bd).pega_registro_por_id(aluno.pega_id())
     actual = aluno.pega_situacao()
     assert actual == expected
Пример #3
0
 def test_aluno_inscrito_curso_salvo_banco_dados(self, cria_banco_real):
     Controller(Aluno(aluno_nome_1), cria_banco_real).salva()
     Controller(Curso(curso_nome_1), cria_banco_real).salva()
     expected = [tuple((1, self.aluno_id, self.curso_id))]
     parametros = [
         "inscreve-aluno-curso", "--aluno-id", self.aluno_id, "--curso-id",
         self.curso_id
     ]
     executa_comando(parametros)
     inscricao = InscricaoAlunoCurso(self.aluno_id, self.curso_id)
     actual = Controller(inscricao, cria_banco_real).pega_registros()
     assert actual == expected
Пример #4
0
 def test_situaca_aluno_muda_para__em_curso__apos_inscricao(
         self, cria_banco_real):
     Controller(Aluno(aluno_nome_1), cria_banco_real).salva()
     Controller(Curso(curso_nome_1), cria_banco_real).salva()
     expected = "em curso"
     parametros = [
         "inscreve-aluno-curso", "--aluno-id", self.aluno_id, "--curso-id",
         self.curso_id
     ]
     executa_comando(parametros)
     InscricaoAlunoCurso(self.aluno_id, self.curso_id)
     aluno = Controller(Aluno().define_id(self.aluno_id),
                        cria_banco_real).pega_registro_por_id(self.aluno_id)
     actual = aluno.pega_situacao()
     assert actual == expected
Пример #5
0
def _inscreve_aluno_curso(argumentos):
    aluno_parametro = "--aluno-id"
    curso_parametro = "--curso-id"
    numero_parametros = 6
    if aluno_parametro in argumentos and curso_parametro in argumentos \
            and len(argumentos) == numero_parametros:
        curso_id = _pega_valor(argumentos, curso_parametro)
        aluno_id = _pega_valor(argumentos, aluno_parametro)
        inscricao = InscricaoAlunoCurso(aluno_id, curso_id)
        Controller(inscricao, bd).salva()
        print(
            f"Aluno identificado por {aluno_id} inscrito no curso identificado por {curso_id}."
        )
    else:
        raise ListaParametrosInvalida(LISTA_PARAMETROS_INVALIDA)
Пример #6
0
def cria_massa_dados_em_memoria(cria_banco):
    Controller(Aluno(aluno_nome_1), cria_banco).salva()
    Controller(Curso(curso_nome_1), cria_banco).salva()
    Controller(Materia(materia_nome_1), cria_banco).salva()
    Controller(Materia(materia_nome_2), cria_banco).salva()
    Controller(Materia(materia_nome_3), cria_banco).salva()
    Controller(AssociaCursoMateria(curso_id=1, materia_id=1),
               cria_banco).salva()
    Controller(AssociaCursoMateria(curso_id=2, materia_id=1),
               cria_banco).salva()
    Controller(AssociaCursoMateria(curso_id=3, materia_id=1),
               cria_banco).salva()
    Controller(InscricaoAlunoCurso(aluno_id=1, curso_id=1), cria_banco)
    yield
    cria_banco.deleta_tabela(cursos)
    cria_banco.deleta_tabela(alunos)
    def test_inscricao_aluno_curso_pode_ser_criado_banco_dados(
            self, cria_banco):
        id_ = 1
        aluno = Aluno(aluno_nome_1).define_id(id_)
        DaoAluno(aluno, cria_banco).salva()

        curso = Curso(curso_nome_1).define_id(id_)
        DaoCurso(curso, cria_banco).salva()

        materias = [materia_nome_1, materia_nome_2, materia_nome_3]
        for materia in materias:
            materia_obj = Materia(materia)
            DaoMateria(materia_obj, cria_banco).salva()
            associa_curso_materia = AssociaCursoMateria(curso, materia_obj)
            DaoAssociaCursoMateria(associa_curso_materia, cria_banco).salva()

        expected = [tuple((1, self.aluno_id, self.curso_id))]
        dao = DaoInscricao(InscricaoAlunoCurso(aluno, curso), cria_banco)
        dao.salva()
        actual = dao.pega_tudo()
        assert actual == expected
Пример #8
0
def cria_curso_materias_real(cria_banco_real):
    bd = cria_banco_real
    bd.deleta_tabela(cursos)
    bd.deleta_tabela(alunos)
    bd.deleta_tabela(materias)

    aluno = Aluno(aluno_nome_1)
    aluno = Controller(aluno, bd).salva()

    curso = Curso(curso_nome_1)
    curso = Controller(curso, bd).salva()

    Controller(InscricaoAlunoCurso(aluno, curso), bd).salva()

    lista_materias = [materia_nome_1, materia_nome_2, materia_nome_3]
    lista_materia_obj = []
    for materia in lista_materias:
        materia_obj = Materia(materia)
        materia_obj = Controller(materia_obj, bd).salva()
        lista_materia_obj.append(materia_obj)
        Controller(AssociaCursoMateria(curso, materia), bd).salva()
    yield aluno, curso, lista_materia_obj
 def test_excecao_retornada_quando_aluno_id_nao_existe(self, cria_banco):
     curso = Curso(curso_nome_1).define_id(self.curso_id)
     DaoCurso(curso, cria_banco).salva()
     with raises(Exception, match="Aluno não encontrado."):
         DaoInscricao(InscricaoAlunoCurso(Aluno(), curso),
                      cria_banco).salva()
 def test_excecao_retornada_quando_curso_id_nao_existe(self, cria_banco):
     aluno = Aluno(aluno_nome_1).define_id(self.aluno_id)
     DaoAluno(aluno, cria_banco).salva()
     with raises(Exception, match="Curso não encontrado."):
         DaoInscricao(InscricaoAlunoCurso(aluno, Curso()),
                      cria_banco).salva()
 def setup(self, cria_banco):
     self.aluno_id = self.curso_id = "1"
     self.dao = DaoInscricao(InscricaoAlunoCurso(Aluno(), Curso()),
                             cria_banco)