Commit 2650a83e28556caf16e52d2f8d5708b2f2442bd0

Authored by Felipe Bormann
1 parent b3b22b7a

created 2 tests for use cases of report views and fixed the errors attached to them

reports/tests/__init__.py 0 → 100644
reports/tests/test_report_auth.py 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +from django.test import TestCase, Client, override_settings
  2 +from django.core.urlresolvers import resolve
  3 +from reports.views import ReportView
  4 +from subjects.models import Subject
  5 +from users.models import User
  6 +
  7 +from datetime import datetime
  8 +
  9 +class ReportTest(TestCase):
  10 +
  11 + def setUp(self):
  12 + self.c = Client()
  13 + self.student = User.objects.create(username = "student01", email= "student01@amadeus.br", password="amadeus")
  14 + if self.c.login(email="student01@amadeus.br", password="amadeus"):
  15 + print("student01 logged in")
  16 +
  17 + self.subject = Subject.objects.create(name="subject", visible= True, init_date= datetime.now(), end_date= datetime.now(),
  18 + subscribe_begin = datetime.now(), subscribe_end= datetime.now() )
  19 +
  20 + self.invisible_subject = Subject.objects.create(name="subject invisible", visible= False, init_date= datetime.now(), end_date= datetime.now(),
  21 + subscribe_begin = datetime.now(), subscribe_end= datetime.now() )
  22 + self.subject.students.add(self.student)
  23 + self.professor = User.objects.create(username= "professor01", email= "professor01@amadeus.br", password="amadeus")
  24 + self.subject.professor.add(self.professor)
  25 +
  26 +
  27 + """
  28 + check if it's still possible to create a report
  29 + """
  30 + @override_settings(STATICFILES_STORAGE = None) # added decorator because of Whitenoise error
  31 + def test_access_report_create_view(self):
  32 + self.c.logout() #to logout student of setup
  33 + self.c.login(email="professor01@amadeus.br", password="amadeus") #use professor of subject as logged in
  34 + response = self.c.get('/subjects/report/create/interactions/?subject_id='+ str(self.subject.id), follow = True)
  35 + self.assertEqual(response.status_code, 200)
  36 +
  37 + @override_settings(STATICFILES_STORAGE = None) # added decorator
  38 + def test_restrict_acess_to_student_report_view(self):
  39 + """
  40 + test when an student from the subject tries to access the subject analytics report builder, it will redirect
  41 + """
  42 + report_view = self.c.get('/subjects/report/create/interactions/?subject_id='+ str(self.subject.id))
  43 +
  44 + self.assertEqual(report_view.url, "/subjects/home")
  45 +
0 46 \ No newline at end of file
... ...