Commit 2650a83e28556caf16e52d2f8d5708b2f2442bd0
1 parent
b3b22b7a
Exists in
master
and in
2 other branches
created 2 tests for use cases of report views and fixed the errors attached to them
Showing
2 changed files
with
45 additions
and
0 deletions
Show diff stats
| ... | ... | @@ -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 | ... | ... |