test_views.py
3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# coding=utf-8
from django.test import TestCase, Client
from django.core.urlresolvers import reverse
from rolepermissions.shortcuts import assign_role
from courses.models import Course, Category
from users.models import User
class CourseViewTestCase(TestCase):
def setUp(self):
self.client = Client()
self.user = User.objects.create_user(username = 'test', email = 'testing@amadeus.com', is_staff = True, is_active = True, password = 'testing')
assign_role(self.user, 'system_admin')
category = Category(name = 'Categoria Teste', slug = 'categoria_teste')
category.save()
course = Course(name = 'Curso Teste', slug = 'curso_teste', max_students = 50, init_register_date = '2016-08-26', end_register_date = '2016-10-01', init_date = '2016-10-05', end_date = '2017-10-05', category = category)
course.save()
self.category = category
self.course = course
def test_index(self):
self.client.login(username='test', password='testing')
url = reverse('app:course:manage')
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'course/index.html')
def test_index_not_logged(self):
url = reverse('app:course:manage')
response = self.client.get(url, follow = True)
self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
def test_create(self):
self.client.login(username='test', password='testing')
url = reverse('app:course:create')
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'course/create.html')
def test_create_not_logged(self):
url = reverse('app:course:create')
response = self.client.get(url, follow = True)
self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
def test_create_no_permission(self):
self.user = User.objects.create_user(username = 'student', email = 'student@amadeus.com', type_profile = 2, is_staff = False, is_active = True, password = 'testing')
assign_role(self.user, 'student')
self.client.login(username='student', password='testing')
url = reverse('app:course:create')
response = self.client.get(url)
self.assertEquals(response.status_code, 403)
def test_update(self):
self.client.login(username = 'test', password = 'testing')
url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'course/update.html')
def test_update_not_logged(self):
url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
response = self.client.get(url, follow = True)
self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)
def test_update_no_permission(self):
self.user = User.objects.create_user(username = 'student', email = 'student@amadeus.com', type_profile = 2, is_staff = False, is_active = True, password = 'testing')
assign_role(self.user, 'student')
self.client.login(username='student', password='testing')
url = reverse('app:course:update', kwargs = {'slug': self.course.slug})
response = self.client.get(url)
self.assertEquals(response.status_code, 403)
def test_view(self):
self.client.login(username = 'test', password = 'testing')
url = reverse('app:course:view', kwargs = {'slug': self.course.slug})
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'course/view.html')
def test_update_not_logged(self):
url = reverse('app:course:view', kwargs = {'slug': self.course.slug})
response = self.client.get(url, follow = True)
self.assertRedirects(response, '%s?next=%s' % (reverse('home'), url), 302, 200)