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
-~----------~----~----~----~------~----~------~--~---

Reply via email to