Author: batiste.bieler
Date: Mon Jan 26 09:11:08 2009
New Revision: 321
Modified:
trunk/example/fixtures/initial_data.json
trunk/pages/managers.py
trunk/pages/tests.py
trunk/pages/views.py
Log:
Add a test for the default view and rename get_page_slug function
Modified: trunk/example/fixtures/initial_data.json
==============================================================================
--- trunk/example/fixtures/initial_data.json (original)
+++ trunk/example/fixtures/initial_data.json Mon Jan 26 09:11:08 2009
@@ -6,5 +6,13 @@
"domain": "127.0.0.1:8000",
"name": "127.0.0.1:8000"
}
+ },
+ {
+ "pk": 2,
+ "model": "sites.site",
+ "fields": {
+ "domain": "testserver",
+ "name": "Test server"
+ }
}
]
Modified: trunk/pages/managers.py
==============================================================================
--- trunk/pages/managers.py (original)
+++ trunk/pages/managers.py Mon Jan 26 09:11:08 2009
@@ -132,10 +132,10 @@
pass
return None
- def get_page_slug(self, slug, site=None, latest_by='creation_date'):
+ def get_content_slug_by_slug(self, slug, site=None,
latest_by='creation_date'):
"""
- Returns the latest slug for the given slug and checks if it's
available
- on the current site.
+ Returns the latest Content slug object that match the given slug
for
+ the current site domain.
"""
if not site:
site = Site.objects.get_current()
Modified: trunk/pages/tests.py
==============================================================================
--- trunk/pages/tests.py (original)
+++ trunk/pages/tests.py Mon Jan 26 09:11:08 2009
@@ -2,8 +2,10 @@
import settings
from pages.models import *
from django.test.client import Client
+from django.template import TemplateDoesNotExist
-page_data = {'title':'test
page', 'slug':'test-page', 'language':'en', 'sites':[1], 'status':1}
+page_data = {'title':'test page', 'slug':'test-page-1', 'language':'en',
+ 'sites':[2], 'status':Page.PUBLISHED}
class PagesTestCase(TestCase):
fixtures = ['tests.json']
@@ -27,7 +29,8 @@
c.login(username= 'batiste', password='b')
response = c.post('/admin/pages/page/add/', page_data)
self.assertRedirects(response, '/admin/pages/page/')
- slug_content = Content.objects.get_page_slug(page_data['slug'])
+ site = Site.objects.get(id=2)
+ slug_content =
Content.objects.get_content_slug_by_slug(page_data['slug'], site)
assert(slug_content is not None)
page = slug_content.page
assert(page.title() == page_data['title'])
@@ -38,10 +41,11 @@
Test a slug collision
"""
c = Client()
+ site = Site.objects.get(id=2)
c.login(username= 'batiste', password='b')
response = c.post('/admin/pages/page/add/', page_data)
self.assertRedirects(response, '/admin/pages/page/')
- page1 = Content.objects.get_page_slug(page_data['slug']).page
+ page1 =
Content.objects.get_content_slug_by_slug(page_data['slug'], site).page
response = c.post('/admin/pages/page/add/', page_data)
assert(response.status_code == 200)
@@ -49,7 +53,35 @@
settings.PAGE_UNIQUE_SLUG_REQUIRED = False
response = c.post('/admin/pages/page/add/', page_data)
self.assertRedirects(response, '/admin/pages/page/')
- page2 = Content.objects.get_page_slug(page_data['slug']).page
+ page2 =
Content.objects.get_content_slug_by_slug(page_data['slug'], site).page
assert(page1.id != page2.id)
+ def test_04_details_view(self):
+ """
+ Test the details view
+ """
+
+ c = Client()
+ c.login(username= 'batiste', password='b')
+ try:
+ response = c.get('/pages/')
+ except TemplateDoesNotExist, e:
+ if e.args != ('404.html',):
+ raise
+
+ page_data['status'] = Page.DRAFT
+ response = c.post('/admin/pages/page/add/', page_data)
+ try:
+ response = c.get('/pages/')
+ except TemplateDoesNotExist, e:
+ if e.args != ('404.html',):
+ raise
+
+ page_data['status'] = Page.PUBLISHED
+ page_data['slug'] = 'test-page-2'
+ response = c.post('/admin/pages/page/add/', page_data)
+ response = c.get('/admin/pages/page/')
+
+ response = c.get('/pages/')
+ assert(response.status_code == 200)
Modified: trunk/pages/views.py
==============================================================================
--- trunk/pages/views.py (original)
+++ trunk/pages/views.py Mon Jan 26 09:11:08 2009
@@ -22,7 +22,7 @@
current_page = get_object_or_404(
Page.objects.published(site), pk=page_id)
elif slug:
- slug_content = Content.objects.get_page_slug(slug, site)
+ slug_content = Content.objects.get_content_slug_by_slug(slug,
site)
if slug_content and \
slug_content.page.calculated_status in (
Page.PUBLISHED, Page.HIDDEN):
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---