-
-
Notifications
You must be signed in to change notification settings - Fork 135
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[-] Added additional test coverage for management commands and views
- Loading branch information
Showing
3 changed files
with
107 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
from django.core import management | ||
from django.core.management.base import CommandError | ||
from django.test import TestCase | ||
|
||
|
||
class TestMgmtCommands(TestCase): | ||
|
||
def test_add_category_fields(self): | ||
management.call_command('add_category_fields', verbosity=0, interactive=False) | ||
|
||
def test_add_category_fields_app(self): | ||
management.call_command('add_category_fields', 'flatpages', verbosity=0, interactive=False) | ||
|
||
def test_drop_category_field(self): | ||
management.call_command('drop_category_field', 'flatpages', 'flatpage', 'category', verbosity=0, interactive=False) | ||
|
||
def test_drop_category_field_error(self): | ||
self.assertRaises(CommandError, management.call_command, 'drop_category_field', verbosity=0, interactive=False) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
from django.http import Http404 | ||
from django.contrib.auth.models import AnonymousUser | ||
from django.test import Client, TestCase, RequestFactory | ||
from categories.models import Category, CategoryRelation | ||
from categories import views | ||
|
||
|
||
class MyCategoryRelationView(views.CategoryRelatedDetail): | ||
model = CategoryRelation | ||
|
||
|
||
class TestCategoryViews(TestCase): | ||
fixtures = ['musicgenres.json', ] | ||
|
||
def setUp(self): | ||
self.client = Client() | ||
self.factory = RequestFactory() | ||
|
||
def test_category_detail(self): | ||
cat0 = Category.objects.get(slug='country', level=0) | ||
cat1 = cat0.children.get(slug='country-pop') | ||
cat2 = Category.objects.get(slug='urban-cowboy') | ||
url = cat0.get_absolute_url() | ||
response = self.client.get(url) | ||
self.assertEquals(response.status_code, 200) | ||
url = cat1.get_absolute_url() | ||
response = self.client.get(url) | ||
self.assertEquals(response.status_code, 200) | ||
url = cat2.get_absolute_url() | ||
response = self.client.get(url) | ||
self.assertEquals(response.status_code, 200) | ||
response = self.client.get("%sfoo/" % url) | ||
self.assertEquals(response.status_code, 404) | ||
|
||
def test_get_category_for_path(self): | ||
cat0 = Category.objects.get(slug='country', level=0) | ||
cat1 = cat0.children.get(slug='country-pop') | ||
cat2 = Category.objects.get(slug='urban-cowboy') | ||
|
||
result = views.get_category_for_path('/country/country-pop/urban-cowboy/') | ||
self.assertEquals(result, cat2) | ||
result = views.get_category_for_path('/country/country-pop/') | ||
self.assertEquals(result, cat1) | ||
result = views.get_category_for_path('/country/') | ||
self.assertEquals(result, cat0) | ||
|
||
def test_categorydetailview(self): | ||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
self.assertRaises(AttributeError, views.CategoryDetailView.as_view(), request) | ||
|
||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
response = views.CategoryDetailView.as_view()(request, path='/country/country-pop/urban-cowboy/') | ||
self.assertEquals(response.status_code, 200) | ||
|
||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
self.assertRaises(Http404, views.CategoryDetailView.as_view(), request, path='/country/country-pop/foo/') | ||
|
||
def test_categoryrelateddetailview(self): | ||
from simpletext.models import SimpleText | ||
stext = SimpleText.objects.create( | ||
name='Test', | ||
description='test description' | ||
) | ||
cat = Category.objects.get(slug='urban-cowboy') | ||
cat_rel = CategoryRelation.objects.create( # NOQA | ||
category=cat, | ||
content_object=stext | ||
) | ||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
self.assertRaises(AttributeError, MyCategoryRelationView.as_view(), request) | ||
|
||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
response = MyCategoryRelationView.as_view()(request, category_path='/country/country-pop/urban-cowboy/') | ||
self.assertEquals(response.status_code, 200) | ||
|
||
request = self.factory.get('') | ||
request.user = AnonymousUser() | ||
self.assertRaises(Http404, MyCategoryRelationView.as_view(), request, category_path='/country/country-pop/foo/') |