Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b5aa29c
:bug: Correção de bug encontrado no teste docente #251
wanessabezerra Dec 10, 2022
536dae7
:wrench: Mudança em Settings #252
wanessabezerra Dec 10, 2022
cd8c414
:memo: Adição do tutorial do MutPy #255
wanessabezerra Dec 14, 2022
84b1720
:hammer: Criação do Teste de Sugestão de Geografia #256
wanessabezerra Dec 14, 2022
b5cf91c
:white_check_mark: Adição de testes de dao.py @renatak12 #259
wanessabezerra Dec 20, 2022
8d9eaa2
:white_check_mark: Adição dos testes de flow_view.py @renatak12 #259
wanessabezerra Dec 20, 2022
8669302
:white_check_mark: Adição de teste de sugestao_view.py @renatak12 #259
wanessabezerra Dec 20, 2022
d8c4533
white_check_mark Adição dos testes de sugestao.py @renatak12 #259
wanessabezerra Dec 20, 2022
ee973e5
white_check_mark Adição dos testes de turma_view.py @renatak12 #259
wanessabezerra Dec 20, 2022
8c36eba
@wanessabezerra
wanessabezerra Dec 20, 2022
f5e49a1
white_check_mark Adição dos testes de discente.py #259
wanessabezerra Dec 20, 2022
5e54565
:white_check_mark: Adição dos testes de turma_view.py @renatak12 #259
wanessabezerra Dec 20, 2022
9862f05
:white_check_mark: Adição de teste de user_view.py @renatak12 #259
wanessabezerra Dec 20, 2022
4dfbd6c
:memo: Adição do resultado gerado pelo teste de mutação MutPy #252
wanessabezerra Dec 20, 2022
28a0d55
Merge branch 'main' into testes3
tacianosilva May 3, 2023
eaefefb
tests: add lib do teste de mutação #252
tacianosilva May 4, 2023
43ec474
Update test_docente.py
tacianosilva May 4, 2023
63b8fd8
Update test_docente.py
tacianosilva May 4, 2023
3b8ac6d
Merge branch 'main' into testes3
tacianosilva Jun 20, 2023
b98e451
Merge branch 'main' into testes3
tacianosilva Dec 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ export DJANGO_SETTINGS_MODULE=suggestclasses.settings
python manage.py test
```

### Executar os Testes de Unidade e Cobertura
### Executar os Testes de Unidade, Testes de Mutação e Cobertura

#### Utilizando o Cobetura

Expand All @@ -184,6 +184,31 @@ coverage xml

Se usar `coverage html`, ele gera o relatório em html.

#### Utilizando o MutPy

Primeiro instale o **MutPy** e o **Django MutPy**.

```shell script
pip install mutpy
pip install django-mutpy
```

Depois adicione o django_mutpy à lista de aplicativos instalados.

```shell script
INSTALLED_APPS = [
...
'django_mutpy',
...
]
```

Rode o seguinte comando para gerar o relatório dos testes de mutação.

```shell script
python manage.py muttest <app1> <app2>
```

#### Utilizando Nose (desativado)

```shell script
Expand Down
17 changes: 16 additions & 1 deletion core/tests/test_curriculo.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import django
django.setup()

from core.bo.curriculo import get_curriculo_by_cc
from core.bo.curriculo import get_curriculo_by_cc, get_semestres_by_curso, get_componentes_by_curso,get_componentes_by_curso_semestre
from core.models import ComponenteCurricular
from core.tests.povoar_testes import criar_dados, remover_dados
from django.test import TestCase
Expand Down Expand Up @@ -32,3 +32,18 @@ def test_get_curriculo_by_cc(self):

self.assertIsNotNone(curriculos, 'Curriculos 2 não é None?')
self.assertEqual(2, len(curriculos), 'Testando quantidade de currículos 2.')

def test_get_semestres_by_curso(self):
semestre = get_semestres_by_curso(9999)

self.assertIsNotNone(semestre, 'Semestre 1 não é None?')
self.assertEqual(0, len(semestre), 'Testando quantidade de currículos 1.')

def test_get_componentes_by_curso(self):
oc = get_componentes_by_curso(9999)

self.assertIsNotNone(oc, 'Componentes por curso não é None?')
self.assertEqual(0, len(oc), 'Testando quantidade de componentes.')

def test_get_componentes_by_curso_semestre(self):
pass
21 changes: 19 additions & 2 deletions core/tests/test_dao.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import django
django.setup()
from core.bo.curso import get_cursos
from core.bo.curso import get_cursos, get_cursos_by_centro, get_curso_by_codigo
from core.bo.sala import get_salas
from django.test import TestCase
from core.tests.povoar_testes import criar_dados, remover_dados
from core.dao.centro_dao import get_centro_by_id, get_centros
from core.dao.componente_dao import get_componentes_by_depto
from core.dao.departamento_dao import get_depto_by_id, get_departamentos


class DAOTests(TestCase):

@classmethod
Expand Down Expand Up @@ -88,3 +87,21 @@ def test_get_salas(self):

self.assertIsNotNone(cursos, 'Testando cursos')
self.assertTrue(len(cursos) > 0, 'Testando cursos')

def test_get_curso(self):
cursos = get_cursos_by_centro()

self.assertIsNotNone(cursos, 'Discentes não é None?')
self.assertTrue(len(cursos) > 0, 'Testando cursos')

def test_get_curso(self):
cursos = get_curso_by_codigo(9999)

self.assertIsNotNone(cursos, 'Discentes não é None?')
self.assertTrue(len(cursos) > 0, 'Testando cursos')

def test_get_curso(self):
cursos = get_cursos()

self.assertIsNotNone(cursos, 'Discentes não é None?')
self.assertTrue(len(cursos) > 0, 'Testando cursos')
10 changes: 9 additions & 1 deletion core/tests/test_discente.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import django
django.setup()
from core.bo.discentes import get_discentes, get_discente_by_matricula, get_discentes_ativos
from core.bo.discentes import get_discentes, get_discente_by_matricula, get_discentes_ativos, get_qtd_discentes_ativos, get_discentes_by_centro
from core.tests.povoar_testes import criar_dados, remover_dados

from django.test import TestCase
Expand Down Expand Up @@ -34,8 +34,16 @@ def test_get_discentes(self):
self.assertIsNotNone(discentes, 'Discentes não é None?')
self.assertTrue(len(discentes) > 0, 'Existe pelo menos um discente')

def test_get_discentes_by_centro(self):
pass

def test_get_discentes_ativos(self):
discentes = get_discentes_ativos()

self.assertIsNotNone(discentes, 'Discentes não é None?')
self.assertTrue(len(discentes) > 0, 'Existe pelo menos um discente')

def test_get_qtd_discentes_ativos(self):
discentes = get_qtd_discentes_ativos()

self.assertIsNotNone(discentes, 'Quantidade de Discentes ativos não é None?')
10 changes: 5 additions & 5 deletions core/tests/test_enquetes.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import django
django.setup()

from core.bo.enquetes import get_enquetes, get_enquetes_por_curso, get_componentes_enquete
from core.bo.enquetes import get_enquetes, get_enquetes_por_curso, get_componentes_enquete, get_estrutura_by_curso
from core.tests.povoar_testes import criar_dados, remover_dados, criar_enquetes
from core.models import Enquete

Expand Down Expand Up @@ -31,15 +31,15 @@ def test_get_enquetes(self):
enquete = get_enquetes()

self.assertIsNotNone(enquete, 'Enquete não é None?')
self.assertTrue(len(enquete) > 0, 'Existe pelo menos uma enquete')

def test_get_enquetes_por_curso(self):
enquete = get_enquetes_por_curso(7191770)
enquete = get_enquetes_por_curso(9999)

self.assertIsNotNone(enquete, 'Enquete não é None?')
# self.assertEqual()
self.assertTrue(len(enquete) > 0, 'Existe pelo menos uma enquete')

def test_get_componentes_enquete(self):
enquete = get_enquetes_por_curso(7191770)
print(enquete)
pass


28 changes: 28 additions & 0 deletions core/tests/test_flow_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,31 @@ def test_get_flow(self):
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_flow_contabeis(self):
client = Client()
url = '/core/flow/cont/opcionais'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_flow_direito(self):
client = Client()
url = '/core/flow/dir/opcionais'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_flow_geo(self):
client = Client()
url = '/core/flow/geo-lic/opcionais'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_flow_mat(self):
client = Client()
url = '/core/flow/mat/opcionais'
response = client.get(url)

self.assertEqual(200, response.status_code)
26 changes: 26 additions & 0 deletions core/tests/test_profile_view.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import django
django.setup()

from core.forms import HistoricoForm
from unittest.case import TestCase

from django.contrib.auth.models import User
from django.test import Client, SimpleTestCase

from core.tests.povoar_testes import criar_dados, remover_dados


class ProfileViewTests(TestCase):

@classmethod
def setUpClass(cls):
super().setUpClass()
print('\nProfileViewTests')
criar_dados()

@classmethod
def tearDownClass(cls):
super().tearDownClass()
remover_dados()


56 changes: 56 additions & 0 deletions core/tests/test_sugestao_geografia_view.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import django
django.setup()

from unittest.case import TestCase

from django.contrib.auth.models import User
from django.test import Client
from django.urls import reverse

from core.models import SugestaoTurma
from core.tests.povoar_testes import criar_dados, remover_dados

class SugestaoGeografiaViewTests(TestCase):

@classmethod
def setUpClass(cls):
super(SugestaoGeografiaViewTests, cls).setUpClass()
print('\nSugestaoGeografiaViewTests')
criar_dados()

@classmethod
def tearDownClass(cls):
super().tearDownClass()
remover_dados()

def test_sugestao_detalhar(self):
client = Client()
sugestao = SugestaoTurma.objects.get(codigo_turma='01', componente__id_componente=99999)

url = reverse('sugestao_detalhar', args=(sugestao.pk,))
response = client.get(url)

self.assertEqual(200, response.status_code)

def sugestao_geo_bac_manter(self):
client = Client()
sugestao = SugestaoTurma.objects.get(codigo_turma='01', componente__id_componente=99999)

url = reverse('sugestao_geo_bac_incluir', args=(sugestao.pk,))
url2 = '/core/sugestao/geo-bac/incluir' + sugestao.pk.__str__() + '/'
response = client.get(url2)
self.assertEqual(302, response.status_code)

def test_login_success(self):
client = Client()
user = User.objects.get(username='john')
response = client.post('/core/usuario/logar', {'username': user.username, 'password': 'johnpassword'})
self.assertEqual(response.url, '/core/')
self.assertEqual(302, response.status_code)

def test_get_turmas_(self):
client = Client()
url = '/core/turmas/his-lic'
response = client.get(url)

self.assertEqual(200, response.status_code)
7 changes: 7 additions & 0 deletions core/tests/test_sugestao_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,10 @@ def test_login_success(self):
response = client.post(url, {'username': user.username, 'password': 'johnpassword'})
self.assertEqual(response.url, index)
self.assertEqual(302, response.status_code)

def test_solicitacao_listar(self):
client = Client()
response = client.get('core/sugestao/solicitacao_listar')

self.assertEqual(response.status_code, 404)

77 changes: 77 additions & 0 deletions core/tests/test_turma_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,80 @@ def test_get_flow(self):
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_hist(self):
client = Client()
url = '/core/turmas/his-lic'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_dir(self):
client = Client()
url = '/core/turmas/dir'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_mat(self):
client = Client()
url = '/core/turmas/mat'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_his_bac(self):
client = Client()
url = '/core/turmas/his-bac'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_geo_bac(self):
client = Client()
url = '/core/turmas/geo-bac'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_geo_lic(self):
client = Client()
url = '/core/turmas/geo-lic'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_ped(self):
client = Client()
url = '/core/turmas/ped'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_adm(self):
client = Client()
url = '/core/turmas/adm'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_let_esp(self):
client = Client()
url = '/core/turmas/let-esp'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_let_pt(self):
client = Client()
url = '/core/turmas/let-por'
response = client.get(url)

self.assertEqual(200, response.status_code)

def test_get_turmas_let_ing(self):
client = Client()
url = '/core/turmas/let-ing'
response = client.get(url)

self.assertEqual(200, response.status_code)
7 changes: 7 additions & 0 deletions core/tests/test_user_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ def test_usuario_cadastrar(self):

self.assertEqual(200, response.status_code)

def test_logar_usuario(self):
client = Client()
url = '/core/usuario/logar'
response = client.get(url)

self.assertEqual(200, response.status_code)

# Valid Form Data
def test_UserForm_valid(self):
form = CadastroUsuarioForm(data={'email': "teste@thebeatles.com",
Expand Down
5 changes: 5 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ matplotlib==3.7.1
pytz~=2022.7

django-filter==22.1
selenium==4.6.0
webdriver-manager==3.8.4

# django-debug-toolbar==2.2
# dj-database-url==0.5.0

coverage==7.2.2
python-decouple==3.8

django-mutpy==0.1.2
Loading
Loading