Commit a9fde23f7df7e1765dfd9f9302f92f8015388cd6
1 parent
4be136dd
Exists in
master
and in
5 other branches
Unit test: create a forum [Issue #99]
Showing
1 changed file
with
87 additions
and
4 deletions
Show diff stats
forum/tests/test_view_forum.py
@@ -4,7 +4,7 @@ from django.core.urlresolvers import reverse | @@ -4,7 +4,7 @@ from django.core.urlresolvers import reverse | ||
4 | from rolepermissions.shortcuts import assign_role | 4 | from rolepermissions.shortcuts import assign_role |
5 | 5 | ||
6 | from users.models import User | 6 | from users.models import User |
7 | -from courses.models import Category, Course, Subject, Topic | 7 | +from courses.models import CourseCategory, Course, Subject, Topic |
8 | from forum.models import Forum | 8 | from forum.models import Forum |
9 | 9 | ||
10 | class ForumDetailViewTestCase (TestCase): | 10 | class ForumDetailViewTestCase (TestCase): |
@@ -21,7 +21,7 @@ class ForumDetailViewTestCase (TestCase): | @@ -21,7 +21,7 @@ class ForumDetailViewTestCase (TestCase): | ||
21 | ) | 21 | ) |
22 | assign_role(self.user, 'system_admin') | 22 | assign_role(self.user, 'system_admin') |
23 | 23 | ||
24 | - self.category = Category.objects.create( | 24 | + self.category = CourseCategory.objects.create( |
25 | name = 'Category test', | 25 | name = 'Category test', |
26 | slug = 'category_test' | 26 | slug = 'category_test' |
27 | ) | 27 | ) |
@@ -80,11 +80,94 @@ class ForumDetailViewTestCase (TestCase): | @@ -80,11 +80,94 @@ class ForumDetailViewTestCase (TestCase): | ||
80 | 80 | ||
81 | def test_context(self): | 81 | def test_context(self): |
82 | self.client.login(username='test', password='testing') | 82 | self.client.login(username='test', password='testing') |
83 | + | ||
84 | + response = self.client.get(self.url) | ||
85 | + self.assertTrue('forum' in response.context) | ||
86 | + | ||
87 | +class CreateForumViewTestCase (TestCase): | ||
88 | + | ||
89 | + def setUp(self): | ||
90 | + self.client = Client() | ||
91 | + | ||
92 | + self.user = User.objects.create_user( | ||
93 | + username = 'test', | ||
94 | + email = 'testing@amadeus.com', | ||
95 | + is_staff = True, | ||
96 | + is_active = True, | ||
97 | + password = 'testing' | ||
98 | + ) | ||
99 | + assign_role(self.user, 'system_admin') | ||
100 | + | ||
101 | + self.category = CourseCategory.objects.create( | ||
102 | + name = 'Category test', | ||
103 | + slug = 'category_test' | ||
104 | + ) | ||
105 | + self.category.save() | ||
106 | + | ||
107 | + self.course = Course.objects.create( | ||
108 | + name = 'Course Test', | ||
109 | + slug = 'course_test', | ||
110 | + max_students = 50, | ||
111 | + init_register_date = '2016-08-26', | ||
112 | + end_register_date = '2016-10-01', | ||
113 | + init_date = '2016-10-05', | ||
114 | + end_date = '2017-10-05', | ||
115 | + category = self.category | ||
116 | + ) | ||
117 | + self.course.save() | ||
118 | + | ||
119 | + self.subject = Subject.objects.create( | ||
120 | + name = 'Subject Test', | ||
121 | + slug='subject-test', | ||
122 | + description = "description of the subject test", | ||
123 | + visible = True, | ||
124 | + course = self.course, | ||
125 | + init_date = '2016-10-05', | ||
126 | + end_date = '2017-10-05', | ||
127 | + ) | ||
128 | + self.subject.save() | ||
129 | + | ||
130 | + self.topic = Topic.objects.create( | ||
131 | + name = 'Topic Test', | ||
132 | + description = "description of the topic test", | ||
133 | + subject = self.subject, | ||
134 | + owner = self.user, | ||
135 | + ) | ||
136 | + self.topic.save() | ||
137 | + | ||
138 | + self.url = reverse('course:forum:create') | ||
139 | + | ||
140 | + def test_view_ok (self): | ||
141 | + self.client.login(username='test', password='testing') | ||
83 | 142 | ||
84 | response = self.client.get(self.url) | 143 | response = self.client.get(self.url) |
144 | + self.assertEquals(response.status_code, 200) | ||
145 | + self.assertTemplateUsed(response, 'forum/forum_form.html') | ||
85 | 146 | ||
147 | + def test_context(self): | ||
148 | + self.client.login(username='test', password='testing') | ||
149 | + | ||
150 | + response = self.client.get(self.url) | ||
86 | self.assertTrue('form' in response.context) | 151 | self.assertTrue('form' in response.context) |
87 | - self.assertTrue('forum' in response.context) | ||
88 | - self.assertTrue('title' in response.context) | ||
89 | 152 | ||
153 | + def test_form_error (self): | ||
154 | + self.client.login(username='test', password='testing') | ||
155 | + data = {'name':'', 'limit_date': '', 'description':'', 'topic':''} | ||
156 | + | ||
157 | + response = self.client.post(self.url, data) | ||
158 | + self.assertEquals (response.status_code, 400) | ||
90 | 159 | ||
160 | + def test_form_ok (self): | ||
161 | + self.client.login(username='test', password='testing') | ||
162 | + data = { | ||
163 | + 'name':'Forum Teste', | ||
164 | + 'limit_date': '2017-10-05', | ||
165 | + 'description':'Test', | ||
166 | + 'topic':str(self.topic.id) | ||
167 | + } | ||
168 | + | ||
169 | + response = self.client.post(self.url, data) | ||
170 | + self.assertEquals (response.status_code, 302) | ||
171 | + | ||
172 | + forum = Forum.objects.get(name='Forum Teste') | ||
173 | + | ||
91 | \ No newline at end of file | 174 | \ No newline at end of file |