mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-22 14:01:53 +00:00
Moved tests for publish pages command into wagtailcore
This commit is contained in:
parent
ad3c62fed5
commit
97ab613f88
2 changed files with 108 additions and 108 deletions
|
|
@ -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, '<link rel="stylesheet" href="/path/to/my/custom.css">')
|
||||
self.assertContains(response, '<script src="/path/to/my/custom.js"></script>')
|
||||
|
||||
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())
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
Loading…
Reference in a new issue