Esempio n. 1
0
 def save(self, commit=True):
     professor = super(ProfessorForm,self).save(commit=False)
     professor.set_password("123@mudar")
     professor.perfil = 'P'
     if commit:
         Professor.save()
     return professor
Esempio n. 2
0
def addCourse(request):
    # Retrieve the course data input by the user
    courseId = request.POST['course_id']
    courseName = request.POST['course']
    subject = request.POST['subject']
    prof = (request.POST['firstname'], request.POST['lastname'])

    # check to see if course already exists. If so, redirect to it
    try:
        theCourse = Course.objects.get(courseID=courseId)
        return HttpResponseRedirect('/viewcourse/' + courseId)
    except:
        # Add the new course to the database
        newCourse = Course(courseID=courseId, name=courseName, subject=subject)
        newCourse.save()

        # see if the input prof exists, if not then create it
        try:
            profs = Professor.objects.get(first_name=prof[0],
                                          last_name=prof[1])
            profs.addCourse(newCourse)
            profs.save()
        except:
            newProf = Professor(first_name=prof[0],
                                last_name=prof[1],
                                subject=subject)
            newProf.save()
            newProf.addCourse(newCourse)
            newProf.save()

        return HttpResponseRedirect('/viewcourse/' + courseId)
    def test_put(self, get_client_db):
        # PUT
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - Tentativa de atualizar turma com código não presente no banco de dados
        data = {"nome": "Ciencias Sociais"}
        response = client.put('/turmas/SCC5900/', data=data, headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(
            Turma(nome='Metodologia Cientifica',
                  codigo='SCC5900',
                  semestre="2020.2",
                  professor_id=1))
        _db.session.commit()

        response = client.put('/turmas/SCC5900/', data=data, headers=headers)
        assert response.status_code == 204

        # CENÁRIO 3 - Tentativa de atualizar turma com ID de professor não existente
        data = {"professor_id": 100}
        response = client.put('/turmas/SCC5900/', data=data, headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe professor com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
    def test_delete(self, get_client_db):
        # DELETE
        client, _db, headers = get_client_db
        clear_data(_db)
        
        # CENÁRIO 1 - Tentativa com turma não registrada
        response = client.delete('/turmas/SCC5900/frequencias/1/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - OK
        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        mock_img = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        mock_face = array(process_faces(mock_img))
        mock_face_embedding = from_array_to_bytes(mock_face)
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_face_embedding))
        _db.session.add(Participante(turma_codigo='SCC5900', matricula='101010'))
        mock_data_img_turma = from_img_dir_to_bytes('./tests/test_images/ivete-e-boy.jpg')
        _db.session.add(Frequencia(turma_codigo='SCC5900', imagem_turma=mock_data_img_turma))
        _db.session.commit()

        response = client.delete('/turmas/SCC5900/frequencias/1/', headers=headers)
        assert response.status_code == 204

        # CENÁRIO 3 - Tentativa com frequência não mais presente
        response = client.delete('/turmas/SCC5900/frequencias/1/', headers=headers)
        assert response.status_code == 400
        assert response.json['message'] == 'Não existe frequencia com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 5
0
    def post(self):
        '''
        Registra um professor no banco de dados.
        '''
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument('nome',
                            type=str,
                            required=True,
                            help='Nome do professor')
        parser.add_argument('departamento',
                            type=str,
                            required=True,
                            help='Nome do departamento')
        parser.add_argument('instituicao',
                            type=str,
                            required=True,
                            help='Instituicao de ensino')
        args = parser.parse_args(strict=True)

        professor_selected = Professor.query.filter_by(**args)

        if professor_selected.first():
            return abort(
                400,
                'Professor já registrado com essas informações (nome, departamento, instituição) no banco de dados.'
            )

        professor_selected = Professor(**args)

        db.session.add(professor_selected)
        db.session.commit()
        db.session.refresh(professor_selected)  # Para obter o ID de registro.

        return {'professor.id': professor_selected.id}, 201
Esempio n. 6
0
    def test_delete(self, get_client_db):
        # DELETE
        client, _db, headers = get_client_db
        clear_data(_db)

        mock_data = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')

        # CENÁRIO 1 - Tentativa com turma não registrada
        response = client.delete('/turmas/FAKECLASS/participantes/1/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - OK
        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_data))
        _db.session.add(Participante(turma_codigo='SCC5900', matricula='101010'))
        _db.session.commit()
        response = client.delete('/turmas/SCC5900/participantes/1/', headers=headers)
        assert response.status_code == 204

        # CENÁRIO 3 - Tentativa de excluir aluno não mais participante
        response = client.delete('/turmas/SCC5900/participantes/1/', headers=headers)
        assert response.status_code == 400
        assert response.json['message'] == 'Não existe participante com esse ID no banco de dados dessa turma.'

        # CLEAN UP
        clear_data(_db)
    def test_delete(self, get_client_db):
        # DELETE
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(
            Turma(nome='Metodologia Cientifica',
                  codigo='SCC5900',
                  semestre="2020.2",
                  professor_id=1))
        _db.session.commit()

        response = client.delete('/turmas/SCC5900/', headers=headers)
        assert response.status_code == 204

        # CENÁRIO 2 - Tentativa de deletar turma que não existe mais no banco de dados
        response = client.delete('/turmas/SCC5900/', headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 8
0
    def test_get(self, get_client_db):
        # GET
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1.1 - Tentativa com turma não registrada
        response = client.get('/turmas/FAKECLASS/participantes/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 1.b - Tentativa com turma não registrada
        response = client.get('/turmas/FAKECLASS/participantes/1/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - Turma sem participantes
        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        _db.session.commit()

        response = client.get('/turmas/SCC5900/participantes/', headers=headers)

        assert response.status_code == 200
        assert response.json == []

        # CENÁRIO 3 - OK
        mock_data = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_data))
        _db.session.add(Participante(turma_codigo='SCC5900', matricula='101010'))
        _db.session.commit()

        response = client.get('/turmas/SCC5900/participantes/', headers=headers)
        assert response.json[0]['matricula'] == '101010'

        response = client.get('/turmas/SCC5900/participantes/1/', headers=headers)
        assert response.json[0]['matricula'] == '101010'

        response = client.get('/turmas/SCC5900/participantes/?matricula=101010', headers=headers)
        assert response.json[0]['matricula'] == '101010'

        # CENÁRIO 4 - Tentativa de obter participante com ID sem registro no banco de dados
        response = client.get('/turmas/SCC5900/participantes/100/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe participante com esse ID no banco de dados dessa turma.'

        # CLEAN UP
        clear_data(_db)
    def test_get(self, get_client_db):
        # GET
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - Não existem turmas registradas ainda
        response = client.get('/turmas/', headers=headers)

        assert response.status_code == 200
        assert response.json == []

        # CENÁRIO 2 - Não existe turma com o código indicado
        response = client.get('/turmas/1/', headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 3 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(
            Turma(nome='Metodologia Cientifica',
                  codigo='SCC5900',
                  semestre="2020.2",
                  professor_id=1))
        _db.session.commit()

        response = client.get('/turmas/', headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        response = client.get('/turmas/?nome=Metodologia%20Cientifica',
                              headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        response = client.get('/turmas/?codigo=SCC5900', headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        response = client.get('/turmas/?semestre=2020.2', headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        response = client.get('/turmas/?professor_id=1', headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        response = client.get('/turmas/SCC5900/', headers=headers)
        assert response.json[0]['nome'] == 'Metodologia Cientifica'

        # CLEAN UP
        clear_data(_db)
Esempio n. 10
0
    def test_post(self, get_client_db):
        # POST
        client, _db, headers = get_client_db
        clear_data(_db)
        
        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        _db.session.commit()

        # CENÁRIO 1 - Tentativa com turma não registrada
        response = client.post('/turmas/FAKECLASS/participantes/', data={'matricula': '1'}, headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'
        
        
        # CENÁRIO 2 - Aluno com matrícula não registrada no banco de dados
        data = {
            "matricula": "101010",
        }
        response = client.post('/turmas/SCC5900/participantes/', data=data, headers=headers)
        assert response.status_code == 400
        assert response.json['message'] == 'Não existe aluno com essa matrícula no banco de dados.'

        # CENÁRIO 3 - OK
        mock_data = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_data))
        _db.session.commit()        

        response = client.post('/turmas/SCC5900/participantes/', data=data, headers=headers)

        assert response.status_code == 201
        assert response.json == {'participante.id': 1}

        # CENÁRIO 4 - Aluno já registrado na disciplina
        response = client.post('/turmas/SCC5900/participantes/', data=data, headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Esse aluno já foi registrado nessa disciplina.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 11
0
    def test_get(self, get_client_db):
        # GET
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - Nenhum professor registrado
        response = client.get('/professores/', headers=headers)

        assert response.status_code == 200
        assert response.json == []

        # CENÁRIO 2 - Não existe professor com o ID
        response = client.get('/professores/1/', headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe professor com esse ID no banco de dados.'

        # CENÁRIO 3 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.commit()

        response = client.get('/professores/', headers=headers)
        assert response.json[0]['nome'] == 'AAA'

        response = client.get('/professores/1/', headers=headers)
        assert response.json[0]['nome'] == 'AAA'

        response = client.get('/professores/?nome=AAA', headers=headers)
        assert response.json[0]['nome'] == 'AAA'

        response = client.get('/professores/?departamento=AAA',
                              headers=headers)
        assert response.json[0]['nome'] == 'AAA'

        response = client.get('/professores/?instituicao=AAA', headers=headers)
        assert response.json[0]['nome'] == 'AAA'

        # CLEAN UP
        clear_data(_db)
Esempio n. 12
0
    def test_delete(self, get_client_db):
        # DELETE
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.commit()

        response = client.delete('/professores/1/', headers=headers)
        assert response.status_code == 204

        # CENÁRIO 2 - Tentativa de deletar um ID que não está mais no banco de dados
        response = client.delete('/professores/1/', headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe professor com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
    def test_get(self, get_client_db):
        # GET
        client, _db, headers = get_client_db
        clear_data(_db)

        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        mock_img = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        mock_face = array(process_faces(mock_img))
        mock_face_embedding = from_array_to_bytes(mock_face)
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_face_embedding))
        _db.session.add(Participante(turma_codigo='SCC5900', matricula='101010'))
        mock_data_img_turma = from_img_dir_to_bytes('./tests/test_images/ivete-e-boy.jpg')
        _db.session.add(Frequencia(turma_codigo='SCC5900', imagem_turma=mock_data_img_turma))
        _db.session.add(Presenca(frequencia_id=1, participante_id=1, status=True))
        _db.session.add(AnotacaoErros(frequencia_id=1, falsos_positivos=1, falsos_negativos=0))
        _db.session.commit()


        # CENÁRIO 1 - Tentativa com turma não registrada
        response = client.get('/turmas/FAKECLASS/frequencias/1/erros/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - Tentativa com frequência não registrada
        response = client.get('/turmas/SCC5900/frequencias/100/erros/', headers=headers)

        assert response.status_code == 400
        assert response.json['message'] == 'Não existe frequencia com esse ID no banco de dados.'

        # CENÁRIO 3 - OK
        response = client.get('/turmas/SCC5900/frequencias/1/erros/', headers=headers)

        assert response.json[0]['frequencia_id'] == 1
        assert response.json[0]['falsos_positivos'] == 1
        assert response.json[0]['falsos_negativos'] == 0

        # CLEAN UP
        clear_data(_db)
    def test_post(self, get_client_db):
        # POST
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - Tentativa com turma não registrada
        file = os.path.join("./tests/test_images/ivete-e-boy.jpg")
        mock_data_img_turma = (file, './tests/test_images/ivete-e-boy.jpg')
        data = {
            "imagem_turma": mock_data_img_turma
        }

        response = client.post('/turmas/SCC5900/frequencias/', data=data, headers=headers)
        assert response.status_code == 400 
        assert response.json['message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 2 - Tentativa com turma sem participantes
        _db.session.add(Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(Turma(nome='Metodologia Cientifica', codigo='SCC5900', semestre="2020.2", professor_id=1))
        _db.session.commit()

        response = client.post('/turmas/SCC5900/frequencias/', data=data, headers=headers)
        assert response.status_code == 400 
        assert response.json['message'] == 'Não existem participantes registrados na turma.'
        
        # CENÁRIO 3 - OK
        mock_img = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        mock_face = array(process_faces(mock_img))
        mock_face_embedding = from_array_to_bytes(mock_face)
        _db.session.add(Aluno(nome='Ivete', curso='Danca', matricula='101010', embedding=mock_face_embedding))
        _db.session.add(Participante(turma_codigo='SCC5900', matricula='101010'))
        _db.session.commit()        
        
        response = client.post('/turmas/SCC5900/frequencias/', data=data, headers=headers)
        assert response.status_code == 201
        assert response.json == {'frequencia.id': 1}

        # CLEAN UP
        clear_data(_db)
Esempio n. 15
0
    def test_put(self, get_client_db):
        # PUT
        client, _db, headers = get_client_db
        clear_data(_db)

        # CENÁRIO 1 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.commit()

        data = {"nome": "Leonardo"}

        response = client.put('/professores/1/', data=data, headers=headers)
        assert response.status_code == 204

        # CENÁRIO 2 - Tentativa de atualizar com ID não presente no banco de dados
        response = client.put('/professores/100/', data=data, headers=headers)
        assert response.json[
            'message'] == 'Não existe professor com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 16
0
    def get_queryset(self):
        search = self.request.GET.get('search')
        if search:
            filtro = None
            try:
                number_search = int(search)
                filtro = Q(matricula__exact=number_search)
            except:
                pass

            if not filtro:
                filtro = Q(nome__icontains=search)
            else:
                filtro |= Q(nome__icontains=search)

            code_titulacao = Professor.get_choice(search)

            filtro |= Q(endereco__icontains=search) | Q(
                telefone__icontains=search) | Q(titulacao=code_titulacao)

            return Professor.objects.filter(filtro)

        return Professor.objects.all()
    def test_post(self, get_client_db):
        # POST
        client, _db, headers = get_client_db
        clear_data(_db)

        data = {
            "nome": "Metodologia Científica",
            "codigo": "SCC5900",
            "semestre": "2021.2",
            "professor_id": 1
        }

        # CENÁRIO 1 - Não existe professor com o ID indicado que irá assumir disciplina
        response = client.post('/turmas/', data=data, headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe professor com esse ID no banco de dados.'

        # CENÁRIO 3 - OK
        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.commit()

        response = client.post('/turmas/', data=data, headers=headers)

        assert response.status_code == 201
        assert response.json == {'turma.codigo': 'SCC5900'}

        # CENÁRIO 3 - Tentativa de criar instância de turma com mesmo código
        response = client.post('/turmas/', data=data, headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Já existe turma com esse código no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 18
0
    def test_post(self, get_client_db):
        # POST
        client, _db, headers = get_client_db
        clear_data(_db)

        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(
            Turma(nome='Metodologia Cientifica',
                  codigo='SCC5900',
                  semestre="2020.2",
                  professor_id=1))
        mock_img = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        mock_face = array(process_faces(mock_img))
        mock_face_embedding = from_array_to_bytes(mock_face)
        _db.session.add(
            Aluno(nome='Ivete',
                  curso='Danca',
                  matricula='101010',
                  embedding=mock_face_embedding))
        _db.session.add(
            Participante(turma_codigo='SCC5900', matricula='101010'))
        mock_data_img_turma = from_img_dir_to_bytes(
            './tests/test_images/ivete-e-boy.jpg')
        _db.session.add(
            Frequencia(turma_codigo='SCC5900',
                       imagem_turma=mock_data_img_turma))
        _db.session.commit()

        # CENÁRIO 1 - Matrícula inválida
        data = {"matricula": 101011, "status": True}

        response = client.post('/turmas/SCC5900/frequencias/1/presencas/',
                               data=data,
                               headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe aluno com essa matricula participando da disciplina no banco de dados.'

        # CENÁRIO 2 - OK
        data = {"matricula": 101010, "status": True}

        response = client.post('/turmas/SCC5900/frequencias/1/presencas/',
                               data=data,
                               headers=headers)

        assert response.status_code == 201
        assert response.json == {'participante.id': 1}

        # CENÁRIO 3 - Aluno não registrado
        response = client.post('/turmas/SCC5900/frequencias/1/presencas/',
                               data=data,
                               headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Registro de presença desse aluno já está presente no banco de dados.'

        # CENÁRIO 4 - Não existe turma com o código indicado
        response = client.post('/turmas/FAKECLASS/frequencias/1/presencas/',
                               data=data,
                               headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 5 - Não existe frequencia com o ID indicado
        response = client.post('/turmas/SCC5900/frequencias/100/presencas/',
                               data=data,
                               headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe frequencia com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 19
0
    def test_delete(self, get_client_db):
        # DELETE
        client, _db, headers = get_client_db
        clear_data(_db)

        _db.session.add(
            Professor(nome='AAA', departamento='AAA', instituicao='AAA'))
        _db.session.add(
            Turma(nome='Metodologia Cientifica',
                  codigo='SCC5900',
                  semestre="2020.2",
                  professor_id=1))
        mock_img = from_img_dir_to_bytes('./tests/test_images/ivete.jpg')
        mock_face = array(process_faces(mock_img))
        mock_face_embedding = from_array_to_bytes(mock_face)
        _db.session.add(
            Aluno(nome='Ivete',
                  curso='Danca',
                  matricula='101010',
                  embedding=mock_face_embedding))
        _db.session.add(
            Participante(turma_codigo='SCC5900', matricula='101010'))
        mock_data_img_turma = from_img_dir_to_bytes(
            './tests/test_images/ivete-e-boy.jpg')
        _db.session.add(
            Frequencia(turma_codigo='SCC5900',
                       imagem_turma=mock_data_img_turma))
        _db.session.add(
            Presenca(frequencia_id=1, participante_id=1, status=True))
        _db.session.add(
            AnotacaoErros(frequencia_id=1,
                          falsos_positivos=0,
                          falsos_negativos=0))
        _db.session.commit()

        # CENÁRIO 1 - Matrícula inválida
        data = {
            "matricula": 202020,
        }
        response = client.delete('/turmas/SCC5900/frequencias/1/presencas/',
                                 data=data,
                                 headers=headers)
        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe aluno com essa matricula participando da disciplina no banco de dados.'

        # CENÁRIO 2 - OK
        data = {
            "matricula": 101010,
        }
        response = client.delete('/turmas/SCC5900/frequencias/1/presencas/',
                                 data=data,
                                 headers=headers)
        assert response.status_code == 204

        # CENÁRIO 3 - Não existe turma com o código indicado
        response = client.delete('/turmas/FAKECLASS/frequencias/1/presencas/',
                                 data=data,
                                 headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe turma com esse codigo no banco de dados.'

        # CENÁRIO 4 - Não existe frequencia com o ID indicado
        response = client.delete('/turmas/SCC5900/frequencias/100/presencas/',
                                 data=data,
                                 headers=headers)

        assert response.status_code == 400
        assert response.json[
            'message'] == 'Não existe frequencia com esse ID no banco de dados.'

        # CLEAN UP
        clear_data(_db)
Esempio n. 20
0
#    import sys
#    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
#    sys.exit(1)
#
# import settings
#
# if __name__ == "__main__":
#    execute_manager(settings)
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

    if sys.argv[1] == "syncdb":
        from django.contrib.auth.models import User
        from core.models import Professor

        try:
            User.objects.get(username="******")
        except User.DoesNotExist:
            u = User(username="******", first_name="Administrador", last_name=" ", email="*****@*****.**", is_superuser=True)
            u.set_password(123456)
            u.save()
            p = Professor(user=u)
            p.save()