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 @@ | @@ -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 | \ No newline at end of file | 46 | \ No newline at end of file |