Exemple #1
0
    def setUp(self):
        #configuraçao
        self.diaaberto = create_open_day()
        self.campus = create_campus()
        self.edificio = create_edificio(self.campus)
        self.espaco = create_sala(self.edificio)

        #utilizadores
        self.coord = create_Coordenador_0()
        self.colab = create_Colaborador_0()
        self.professor= create_ProfessorUniversitario_0()

        #atividades
        self.tema= create_tema()
        self.atividade = create_atividade(self.professor,self.diaaberto,self.espaco,self.tema)
        self.horario=create_horario(inicio=time(14,0),fim=time(14,30))
        self.sessao= create_sessao(self.atividade,self.horario)

        #inscricoes
        self.inscricao = create_Inscricao_2()

        #coordenadores
        self.tarefa_0 = create_tarefa_0(self.coord,self.colab)
        self.tarefa_1 = create_tarefa_1(self.coord,self.colab)
        self.tarefa_2 = create_tarefa_2(self.coord,None)
        self.auxiliar = create_tarefa_auxiliar(self.tarefa_0,self.sessao)
        self.acompanhar = create_tarefa_acompanhar(self.tarefa_1,self.inscricao)
        self.outra = create_tarefa_outra(self.tarefa_2)
Exemple #2
0
    def test_curso_delete(self):
        client = self.client
        response = client.get(
            reverse('configuracao:eliminarCurso', kwargs={'id':
                                                          self.curso.id}))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:eliminarCurso',
                                      kwargs={'id': self.curso.id}),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(
            reverse('configuracao:eliminarCurso', kwargs={'id':
                                                          self.curso.id}))
        self.assertEquals(
            response.status_code, 200
        )  #200 means it printed the error message on return (success is a redirect)

        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.get(
            reverse('configuracao:eliminarCurso', kwargs={'id':
                                                          self.curso.id}))
        self.assertEquals(response.status_code, 302)  #redirect means it worked
        self.assertEquals(len(Curso.objects.filter()), 0)  #must be empty!
Exemple #3
0
    def test_view_curso(self):
        client = self.client

        response = client.get(reverse('configuracao:verCursos'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:verCursos'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:verCursos'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.get(reverse('configuracao:verCursos'))
        self.assertContains(response,
                            status_code=200,
                            text='Licensiatura Engenharia Informatica')
Exemple #4
0
 def setUp(self):
     self.coord = create_Coordenador_0()
     self.colab0 = create_Colaborador_0()
     self.colab1 = create_Colaborador_1()
     self.tarefa0 = create_Tarefa_0()
     self.tarefa1 = create_Tarefa_1()
     self.tarefa2 = create_Tarefa_2()
Exemple #5
0
 def setUp(self):
     self.diaaberto = create_open_day()
     self.tema = create_tema()
     self.espaco = create_sala(create_edificio(create_campus()))
     self.coord = create_Coordenador_0()
     self.professor = create_ProfessorUniversitario_0()
     self.atividade = create_atividade(self.professor, self.diaaberto,
                                       self.espaco, self.tema)
Exemple #6
0
def create_Tarefa_1():
    return Tarefa.objects.get_or_create(
        nome='Acompanhar o grupo 3',
        estado='Concluida',
        coord=create_Coordenador_0(),
        colab=create_Colaborador_0(),
        dia=date(2021, 4, 11),
        horario=time(16, 10),
    )[0]
Exemple #7
0
def create_Tarefa_2():
    return Tarefa.objects.get_or_create(
        nome='Fechar a sala 1.63...',
        estado='naoAtribuida',
        coord=create_Coordenador_0(),
        colab=None,
        dia=date(2021, 4, 12),
        horario=time(10, 45),
    )[0]
Exemple #8
0
def create_Tarefa_0():
    return Tarefa.objects.get_or_create(
        nome='Auxiliar na atividade Java',
        estado='naoConcluida',
        coord=create_Coordenador_0(),
        colab=create_Colaborador_0(),
        dia=date(2021, 4, 10),
        horario=time(14, 20),
    )[0]
Exemple #9
0
def create_InformacaoNotificacao_0():
    return InformacaoNotificacao.objects.get_or_create(
        data=datetime.now(pytz.UTC) + timedelta(days=5),
        pendente=True,
        titulo="teste",
        descricao="teste",
        emissor=create_Administrador_0(),
        recetor=create_Coordenador_0(),
        tipo="register",
        lido=False)[0]
Exemple #10
0
    def test_edificios_POST(self):
        client = self.client
        data = {
            'nome': ['C1'],
            'campus': [str(self.campus.id)],
            'form-TOTAL_FORMS': ['1'],
            'form-INITIAL_FORMS': ['0'],
            'form-MIN_NUM_FORMS': ['1'],
            'form-MAX_NUM_FORMS': ['1000'],
            'form-0-id': [''],
            'form-0-nome': [str(self.espaco.nome)],
            'form-0-andar': [str(self.espaco.andar)],
            'form-0-descricao': [str(self.espaco.descricao)]
        }

        response = client.get(reverse('configuracao:adicionarEdificio'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:adicionarEdificio'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:adicionarEdificio'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        Edificio.objects.all().delete()
        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.post(reverse('configuracao:adicionarEdificio'),
                               data=data)
        #print(response)
        self.assertEquals(len(Edificio.objects.all()), 1)
        self.assertEquals(Edificio.objects.all().first().nome, 'C1')

        edificioId = Edificio.objects.filter().first().id
        #lets edit it
        #'nome': ['C2'], 'campus': ['1'], 'image': [''], 'form-TOTAL_FORMS': ['1'], 'form-INITIAL_FORMS': ['1'], 'form-MIN_NUM_FORMS': ['1'], 'form-MAX_NUM_FORMS': ['1000'], 'form-0-id': ['7'], 'form-0-nome': ['Sala 2'], 'form-0-andar': ['2'], 'form-0-descricao': ['Sala de Aula']}>
        data['nome'] = ['C2']
        data['form-INITIAL_FORMS'] = ['1']
        data['form-0-id'] = [str(edificioId)]
        data['form-0-nome'] = ['2']
        response = client.post(reverse('configuracao:editarEdificio',
                                       kwargs={'id': edificioId}),
                               data=data)
        self.assertEquals(Edificio.objects.get(id=edificioId).nome, 'C2')
        self.assertEquals(
            Espaco.objects.get(edificio__id=edificioId).nome, '2')
        Edificio.objects.all().delete()
Exemple #11
0
 def test_Notificacao_model(self):
     """ Testes do modelo "Notificacao" """
     professor = create_ProfessorUniversitario_0()
     notify.send(create_Administrador_0(),
                 recipient=professor,
                 verb='O seu registo foi validado')
     assert professor.notifications.unread().count() == 1
     notify.send(create_Coordenador_0(),
                 recipient=professor,
                 verb='A sua atividade foi aceite')
     assert professor.notifications.unread().count() == 2
Exemple #12
0
    def test_deps_POST(self):
        client = self.client
        data = {
            'form-TOTAL_FORMS': ['1'],
            'form-INITIAL_FORMS': ['0'],
            'form-MIN_NUM_FORMS': ['1'],
            'form-MAX_NUM_FORMS': ['1000'],
            'form-0-id': [''],
            'form-0-sigla': ['DEEI'],
            'form-0-nome':
            ['Departamento de Engenharia Informatica e Eletronica'],
            'form-0-unidadeorganicaid': [str(self.uo.id)]
        }

        response = client.get(reverse('configuracao:adicionarDepartamento'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:adicionarDepartamento'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:adicionarDepartamento'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        Departamento.objects.all().delete()
        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.post(reverse('configuracao:adicionarDepartamento'),
                               data=data)

        self.assertEquals(len(Departamento.objects.all()), 1)
        self.assertEquals(
            Departamento.objects.all().first().nome,
            'Departamento de Engenharia Informatica e Eletronica')

        depId = Departamento.objects.filter().first().id
        #lets edit it
        data['form-0-id'] = [str(depId)]
        data['form-INITIAL_FORMS'] = ['1']
        data['form-0-nome'] = ['Departamento de Engenharia Informatica']
        response = client.post(reverse('configuracao:editarDepartamento',
                                       kwargs={'id': depId}),
                               data=data)
        self.assertEquals(Departamento.objects.filter().first().nome,
                          'Departamento de Engenharia Informatica')
        Departamento.objects.all().delete()
Exemple #13
0
    def test_uos_POST(self):
        client = self.client
        data = {
            'form-TOTAL_FORMS': ['1'],
            'form-INITIAL_FORMS': ['0'],
            'form-MIN_NUM_FORMS': ['1'],
            'form-MAX_NUM_FORMS': ['1000'],
            'form-0-id': [''],
            'form-0-sigla': ['FT'],
            'form-0-nome': ['Faculdade de TESTE'],
            'form-0-campusid': [str(self.campus.id)]
        }

        response = client.get(reverse('configuracao:adicionarUO'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:adicionarUO'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:adicionarUO'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        Unidadeorganica.objects.all().delete()
        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.post(reverse('configuracao:adicionarUO'), data=data)
        #print(Unidadeorganica.objects.all().first().id)
        self.assertEquals(len(Unidadeorganica.objects.all()), 1)
        self.assertEquals(Unidadeorganica.objects.all().first().nome,
                          'Faculdade de TESTE')

        uoId = Unidadeorganica.objects.filter().first().id
        #lets edit it
        data['form-INITIAL_FORMS'] = ['1']
        data['form-0-nome'] = ['Faculdade']
        data['form-0-id'] = [str(uoId)]
        response = client.post(reverse('configuracao:editarUO',
                                       kwargs={'id': uoId}),
                               data=data)
        self.assertEquals(Unidadeorganica.objects.filter().first().nome,
                          'Faculdade')
        Unidadeorganica.objects.all().delete()
Exemple #14
0
 def test_ConsultarTarefas_GET_naoColaborador(self):
     """ Teste de método GET sem ser colaborador """
     utilizadores = [create_Utilizador_0(),
                     create_ProfessorUniversitario_0(),
                     create_Administrador_0(),
                     create_Coordenador_0(),
                     create_Participante_0(),]
     for utilizador in utilizadores:
         self.client.force_login(utilizador)
         response = self.client.get(
             reverse('colaboradores:consultar-tarefas'))
         self.assertTemplateUsed(response, 'mensagem.html')
         self.assertEquals(response.context['tipo'], 'error')
         self.assertEquals(response.context['m'], 'Não tem permissões para aceder a esta página!')
         self.client.logout()
Exemple #15
0
    def test_menus_POST(self):
        client = self.client
        data = {
            'campus': [str(self.campus.id)],
            'diaaberto': [str(self.diaaberto.id)],
            'dia': ['2021-05-23'],
            'form-TOTAL_FORMS': ['1'],
            'form-INITIAL_FORMS': ['0'],
            'form-MIN_NUM_FORMS': ['1'],
            'form-MAX_NUM_FORMS': ['1000'],
            'form-0-id': [''],
            'form-0-prato': ['Carne Alentejana'],
            'form-0-tipo': ['Carne'],
            'form-0-nrpratosdisponiveis': ['1']
        }

        response = client.get(reverse('configuracao:novoMenu'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:novoMenu'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:novoMenu'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        Menu.objects.all().delete()
        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.post(reverse('configuracao:novoMenu'), data=data)
        #print(response)
        self.assertEquals(len(Menu.objects.all()), 1)
        self.assertEquals(Menu.objects.all().first().dia, date(2021, 5, 23))

        menuId = Menu.objects.filter().first().id
        #lets edit it
        data['dia'] = ['2021-05-24']
        response = client.post(reverse('configuracao:editarMenu',
                                       kwargs={'id': menuId}),
                               data=data)
        self.assertEquals(Menu.objects.filter().first().dia, date(2021, 5, 24))
        Menu.objects.all().delete()
Exemple #16
0
 def test_confirmarResumo_GET_naoProfessor(self):
     utilizadores = [
         create_Utilizador_0(),
         create_Colaborador_0(),
         create_Administrador_0(),
         create_Coordenador_0(),
         create_Participante_0(),
     ]
     for utilizador in utilizadores:
         self.client.force_login(utilizador)
         response = self.client.get(
             reverse('atividades:confirmarResumo',
                     kwargs={'id': self.atividade.id}))
         self.assertTemplateUsed(response, 'mensagem.html')
         self.assertEquals(response.context['tipo'], 'error')
         self.assertEquals(response.context['m'],
                           'Não tem permissões para aceder a esta página!')
         self.client.logout()
Exemple #17
0
 def test_AtribuicaoTransporte_GET_naoAdmin(self):
     utilizadores = [
         create_Utilizador_0(),
         create_Colaborador_0(),
         create_Participante_0(),
         create_Coordenador_0(),
         create_Participante_0(),
     ]
     for utilizador in utilizadores:
         self.client.force_login(utilizador)
         response = self.client.get(
             reverse('configuracao:atribuirTransporte',
                     kwargs={'id': self.transporteH.id}))
         self.assertTemplateUsed(response, 'mensagem.html')
         self.assertEquals(response.context['tipo'], 'error')
         self.assertEquals(response.context['m'],
                           'Não tem permissões para aceder a esta página!')
         self.client.logout()
Exemple #18
0
    def test_temas_POST(self):
        client = self.client
        data = {
            'tema': ['Tecnologia'],
        }

        response = client.get(reverse('configuracao:adicionarTema'))
        self.assertEquals(response.status_code,
                          302)  #Redirect if user not logged in

        response = client.get(reverse('configuracao:adicionarTema'),
                              follow=True)  #Not logged in goes to message
        self.assertEquals(response.status_code, 200)
        self.assertTemplateUsed(response, 'utilizadores/login.html')

        client.force_login(
            user=create_Coordenador_0())  #now we test with wrong loggin
        response = client.get(reverse('configuracao:adicionarTema'))
        self.assertContains(
            response,
            status_code=200,
            text='Não tem permissões para aceder a esta página!')

        Tema.objects.all().delete()
        client.force_login(user=self.admin)  #now we test with proper loggin
        response = client.post(reverse('configuracao:adicionarTema'),
                               data=data)
        #print(response)
        self.assertEquals(len(Tema.objects.all()), 1)
        self.assertEquals(Tema.objects.all().first().tema, 'Tecnologia')

        temaId = Tema.objects.filter().first().id
        #lets edit it
        data['tema'] = ['Informatica']
        response = client.post(reverse('configuracao:editarTema',
                                       kwargs={'id': temaId}),
                               data=data)
        self.assertEquals(Tema.objects.filter().first().tema, 'Informatica')
        Tema.objects.all().delete()
Exemple #19
0
    def test_ProporAtividadesView_GET_naoProfessor(self):
        utilizadores = [
            create_Utilizador_0(),
            create_Colaborador_0(),
            create_Administrador_0(),
            create_Coordenador_0(),
            create_Participante_0(),
        ]
        for utilizador in utilizadores:
            self.client.force_login(utilizador)
            response = self.client.get(reverse('atividades:minhasAtividades'))
            self.assertTemplateUsed(response, 'mensagem.html')
            self.assertEquals(response.context['tipo'], 'error')
            self.assertEquals(response.context['m'],
                              'Não tem permissões para aceder a esta página!')
            self.client.logout()

        def test_ProporAtividade_GET_ok(self):
            self.client.force_login(self.professor)
            response = self.client.get(reverse('atividades:proporAtividade'))
            self.assertEquals(response.status_code, 200)
            self.assertTemplateUsed(
                response, 'atividades/proporAtividadeAtividade.html')
Exemple #20
0
    def test_ConsultarAtividadesProf_GET_naoProfessor(self):
        utilizadores = [
            create_Utilizador_0(),
            create_Colaborador_0(),
            create_ProfessorUniversitario_0(),
            create_Coordenador_0(),
            create_Participante_0(),
        ]
        for utilizador in utilizadores:
            self.client.force_login(utilizador)
            response = self.client.get(reverse('atividades:atividadesAdmin'))
            self.assertTemplateUsed(response, 'mensagem.html')
            self.assertEquals(response.context['tipo'], 'error')
            self.assertEquals(response.context['m'],
                              'Não tem permissões para aceder a esta página!')
            self.client.logout()

        def test_ConsultarAtividadesProf_GET_ok(self):
            self.client.force_login(self.professor)
            response = self.client.get(reverse('atividades:minhasAtividades'))
            self.assertEquals(response.status_code, 200)
            self.assertTemplateUsed(response,
                                    'atividades/atividadesAdmin.html')
            self.assertIsNotNone(response.context['table'])
Exemple #21
0
 def setUp(self):
     self.coord = create_Coordenador_0()