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)
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!
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')
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()
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)
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]
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]
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]
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]
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()
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
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()
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()
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()
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()
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()
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()
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()
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')
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'])
def setUp(self): self.coord = create_Coordenador_0()