From 85bd5885fb988dbc62b19f6786660a42095edc14 Mon Sep 17 00:00:00 2001 From: Filipe Medeiros Date: Wed, 23 Nov 2016 15:33:02 -0300 Subject: [PATCH] Create course category unit test [Issue #137] --- courses/templates/topic/update.html | 2 +- courses/tests/test_CourseCategory.py | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ courses/tests/test_views.py | 4 ++-- 3 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 courses/tests/test_CourseCategory.py diff --git a/courses/templates/topic/update.html b/courses/templates/topic/update.html index c06d981..de06038 100644 --- a/courses/templates/topic/update.html +++ b/courses/templates/topic/update.html @@ -17,7 +17,7 @@ {% endfor %}
- +
diff --git a/courses/tests/test_CourseCategory.py b/courses/tests/test_CourseCategory.py new file mode 100644 index 0000000..5d41d67 --- /dev/null +++ b/courses/tests/test_CourseCategory.py @@ -0,0 +1,108 @@ +from django.test import TestCase, Client + +from django.core.urlresolvers import reverse +from rolepermissions.shortcuts import assign_role + +from users.models import User +from courses.models import CourseCategory + +class ForumViewTestCase (TestCase): + + def setUp(self): + + 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') + + self.user_professor = User.objects.create_user( + username = 'professor', + email = 'professor@amadeus.com', + is_staff = False, + is_active = True, + password = 'testing', + type_profile = 1 + ) + assign_role(self.user_professor, 'professor') + + self.user_student = User.objects.create_user( + username = 'student', + email = 'student@amadeus.com', + is_staff = False, + is_active = True, + password = 'testing', + type_profile = 2 + ) + assign_role(self.user_student, 'student') + + self.category = CourseCategory.objects.create( + name = 'Test Category' + ) + self.category.save() + + + self.client = Client() + self.client.login(username='test', password='testing') + + self.client_professor = Client() + self.client_professor.login (username='professor', password='testing') + + self.client_student = Client() + self.client_student.login (username='student', password='testing') + + +######################### CreateCatView ######################### + + def test_CreateCatView_ok (self): + url = reverse('course:create_cat') + + response = self.client.get(url) + self.assertEquals(response.status_code, 200) + + response = self.client_professor.get(url) + self.assertEquals(response.status_code, 200) + + response = self.client_student.get(url) + self.assertEquals(response.status_code, 403) + + def test_CreateCatView_context (self): + url = reverse('course:create_cat') + + response = self.client.get(url) + self.assertTrue('form' in response.context) + + response = self.client_professor.get(url) + self.assertTrue('form' in response.context) + + def test_CreateCatView_form_error (self): + url = reverse('course:create_cat') + data = {'name':''} + list_categories = CourseCategory.objects.all().count() + + response = self.client.post(url, data) + self.assertEquals(list_categories, CourseCategory.objects.all().count()) + + response = self.client_professor.post(url, data) + self.assertEquals(list_categories, CourseCategory.objects.all().count()) + + def test_CreateCatView_form_ok (self): + url = reverse('course:create_cat') + data = { + 'name':'Second Category', + } + list_categories = CourseCategory.objects.all().count() + + response = self.client.post(url, data) + self.assertEquals (response.status_code, 302) + self.assertEquals(list_categories+1, CourseCategory.objects.all().count()) + + data = { + 'name' : 'Third Category', + } + response = self.client_professor.post(url, data) + self.assertEquals (response.status_code, 302) + self.assertEquals(list_categories+2, CourseCategory.objects.all().count()) \ No newline at end of file diff --git a/courses/tests/test_views.py b/courses/tests/test_views.py index 30859a4..ac8f3eb 100644 --- a/courses/tests/test_views.py +++ b/courses/tests/test_views.py @@ -5,7 +5,7 @@ from django.core.urlresolvers import reverse from rolepermissions.shortcuts import assign_role -from courses.models import Course, Category +from courses.models import Course, CourseCategory from courses.forms import CourseForm from users.models import User @@ -23,7 +23,7 @@ class CourseViewTestCase(TestCase): ) assign_role(self.user, 'system_admin') - self.category = Category( + self.category = CourseCategory( name = 'Categoria Teste', slug = 'categoria_teste' ) -- libgit2 0.21.2