From 97ab613f88ab742c57400f0985d73b62be341635 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 3 Jun 2014 10:28:00 +0100 Subject: [PATCH] Moved tests for publish pages command into wagtailcore --- wagtail/wagtailadmin/tests.py | 107 +-------------------------------- wagtail/wagtailcore/tests.py | 109 +++++++++++++++++++++++++++++++++- 2 files changed, 108 insertions(+), 108 deletions(-) diff --git a/wagtail/wagtailadmin/tests.py b/wagtail/wagtailadmin/tests.py index 4d6016609..c657c1efb 100644 --- a/wagtail/wagtailadmin/tests.py +++ b/wagtail/wagtailadmin/tests.py @@ -1,12 +1,10 @@ -from datetime import datetime, timedelta -from django.core import management +from datetime import timedelta from django.core.urlresolvers import reverse from django.utils import timezone from django.test import TestCase from wagtail.tests.models import SimplePage, EventPage from wagtail.tests.utils import login, unittest from wagtail.wagtailcore.models import Page, PageRevision -from django.core.urlresolvers import reverse class TestHome(TestCase): @@ -472,106 +470,3 @@ class TestEditorHooks(TestCase): self.assertEqual(response.status_code, 200) self.assertContains(response, '') self.assertContains(response, '') - -class TestPublishScheduledPages(TestCase): - def setUp(self): - # Find root page - self.root_page = Page.objects.get(id=2) - - def test_go_live_page_will_be_published(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = False - page.go_live_at = timezone.now() - timedelta(days=1) - self.root_page.add_child(instance=page) - - page.save_revision( - approved_go_live_at = timezone.now() - timedelta(days=1) - ) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - management.call_command('publish_scheduled_pages', verbosity=3, interactive=False) - #management.call_command('publish_scheduled_pages', dryrun=True, verbosity=3, interactive=False) - p = Page.objects.get(slug='hello-world') - self.assertTrue(p.live) - self.assertFalse(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - - def test_go_live_page_will_be_published(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = False - page.go_live_at = timezone.now() - timedelta(days=1) - self.root_page.add_child(instance=page) - - page.save_revision(approved_go_live_at = timezone.now() - timedelta(days=1)) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - management.call_command('publish_scheduled_pages', ) - p = Page.objects.get(slug='hello-world') - self.assertTrue(p.live) - self.assertFalse(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - - def test_future_go_live_page_will_not_be_published(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = False - page.go_live_at = timezone.now() + timedelta(days=1) - self.root_page.add_child(instance=page) - page.save_revision(approved_go_live_at = timezone.now() - timedelta(days=1)) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - management.call_command('publish_scheduled_pages', ) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) - - def test_expired_page_will_be_unpublished(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = True - page.expire_at = timezone.now() - timedelta(days=1) - self.root_page.add_child(instance=page) - p = Page.objects.get(slug='hello-world') - self.assertTrue(p.live) - management.call_command('publish_scheduled_pages', ) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(p.expired) - - def test_future_expired_page_will_not_be_unpublished(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = True - page.expire_at = timezone.now() + timedelta(days=1) - self.root_page.add_child(instance=page) - p = Page.objects.get(slug='hello-world') - self.assertTrue(p.live) - management.call_command('publish_scheduled_pages', ) - p = Page.objects.get(slug='hello-world') - self.assertTrue(p.live) - self.assertFalse(p.expired) - - def test_expired_pages_are_dropped_from_mod_queue(self): - page = SimplePage() - page.title = "Hello world!" - page.slug = "hello-world" - page.live = False - page.expire_at = timezone.now() - timedelta(days=1) - self.root_page.add_child(instance=page) - page.save_revision(submitted_for_moderation = True) - p = Page.objects.get(slug='hello-world') - self.assertFalse(p.live) - self.assertTrue(PageRevision.objects.filter(page=p, submitted_for_moderation=True).exists()) - management.call_command('publish_scheduled_pages', ) - p = Page.objects.get(slug='hello-world') - self.assertFalse(PageRevision.objects.filter(page=p, submitted_for_moderation=True).exists()) - - diff --git a/wagtail/wagtailcore/tests.py b/wagtail/wagtailcore/tests.py index 1b12c1025..3eede0e4a 100644 --- a/wagtail/wagtailcore/tests.py +++ b/wagtail/wagtailcore/tests.py @@ -1,9 +1,12 @@ +from datetime import timedelta + from django.test import TestCase, Client from django.http import HttpRequest, Http404 - +from django.utils import timezone from django.contrib.auth.models import User +from django.core import management -from wagtail.wagtailcore.models import Page, Site, UserPagePermissionsProxy +from wagtail.wagtailcore.models import Page, Site, UserPagePermissionsProxy, PageRevision from wagtail.tests.models import EventPage, EventIndex, SimplePage @@ -776,3 +779,105 @@ class TestIssue157(TestCase): # Check url self.assertEqual(homepage.url, '/') + + +class TestPublishScheduledPagesCommand(TestCase): + def setUp(self): + # Find root page + self.root_page = Page.objects.get(id=2) + + def test_go_live_page_will_be_published(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = False + page.go_live_at = timezone.now() - timedelta(days=1) + self.root_page.add_child(instance=page) + + page.save_revision( + approved_go_live_at = timezone.now() - timedelta(days=1) + ) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + management.call_command('publish_scheduled_pages', verbosity=3, interactive=False) + #management.call_command('publish_scheduled_pages', dryrun=True, verbosity=3, interactive=False) + p = Page.objects.get(slug='hello-world') + self.assertTrue(p.live) + self.assertFalse(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + + def test_go_live_page_will_be_published(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = False + page.go_live_at = timezone.now() - timedelta(days=1) + self.root_page.add_child(instance=page) + + page.save_revision(approved_go_live_at = timezone.now() - timedelta(days=1)) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + management.call_command('publish_scheduled_pages', ) + p = Page.objects.get(slug='hello-world') + self.assertTrue(p.live) + self.assertFalse(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + + def test_future_go_live_page_will_not_be_published(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = False + page.go_live_at = timezone.now() + timedelta(days=1) + self.root_page.add_child(instance=page) + page.save_revision(approved_go_live_at = timezone.now() - timedelta(days=1)) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + management.call_command('publish_scheduled_pages', ) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(PageRevision.objects.filter(page=p).exclude(approved_go_live_at__isnull=True).exists()) + + def test_expired_page_will_be_unpublished(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = True + page.expire_at = timezone.now() - timedelta(days=1) + self.root_page.add_child(instance=page) + p = Page.objects.get(slug='hello-world') + self.assertTrue(p.live) + management.call_command('publish_scheduled_pages', ) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(p.expired) + + def test_future_expired_page_will_not_be_unpublished(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = True + page.expire_at = timezone.now() + timedelta(days=1) + self.root_page.add_child(instance=page) + p = Page.objects.get(slug='hello-world') + self.assertTrue(p.live) + management.call_command('publish_scheduled_pages', ) + p = Page.objects.get(slug='hello-world') + self.assertTrue(p.live) + self.assertFalse(p.expired) + + def test_expired_pages_are_dropped_from_mod_queue(self): + page = SimplePage() + page.title = "Hello world!" + page.slug = "hello-world" + page.live = False + page.expire_at = timezone.now() - timedelta(days=1) + self.root_page.add_child(instance=page) + page.save_revision(submitted_for_moderation = True) + p = Page.objects.get(slug='hello-world') + self.assertFalse(p.live) + self.assertTrue(PageRevision.objects.filter(page=p, submitted_for_moderation=True).exists()) + management.call_command('publish_scheduled_pages', ) + p = Page.objects.get(slug='hello-world') + self.assertFalse(PageRevision.objects.filter(page=p, submitted_for_moderation=True).exists())