From e9ce499d5a40287b82b1caea955a861d5241066e Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Fri, 30 May 2014 15:43:54 +0100 Subject: [PATCH] Added test for move_pages command --- .../management/commands/move_pages.py | 4 ++-- wagtail/wagtailcore/tests.py | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/wagtail/wagtailcore/management/commands/move_pages.py b/wagtail/wagtailcore/management/commands/move_pages.py index 344604f06..86ea4016d 100644 --- a/wagtail/wagtailcore/management/commands/move_pages.py +++ b/wagtail/wagtailcore/management/commands/move_pages.py @@ -15,8 +15,8 @@ class Command(BaseCommand): pages = from_page.get_children() # Move the pages - print 'Moving ' + str(len(pages)) + ' pages from "' + from_page.title + '" to "' + to_page.title + '"' + self.stdout.write('Moving ' + str(len(pages)) + ' pages from "' + from_page.title + '" to "' + to_page.title + '"') for page in pages: page.move(to_page, pos='last-child') - print 'Done' + self.stdout.write('Done') diff --git a/wagtail/wagtailcore/tests.py b/wagtail/wagtailcore/tests.py index ce00002f6..8cbd7be9a 100644 --- a/wagtail/wagtailcore/tests.py +++ b/wagtail/wagtailcore/tests.py @@ -821,3 +821,23 @@ class TestFixTreeCommand(TestCase): # Check if its fixed self.assertEqual(Page.objects.get(url_path='/home/').depth, old_depth) + + +class TestMovePagesCommand(TestCase): + fixtures = ['test.json'] + + def run_command(self, from_, to): + management.call_command('move_pages', str(from_), str(to), interactive=False, stdout=StringIO()) + + def test_move_pages(self): + # Get pages + events_index = Page.objects.get(url_path='/home/events/') + about_us = Page.objects.get(url_path='/home/about-us/') + page_ids = events_index.get_children().values_list('id', flat=True) + + # Move all events into "about us" + self.run_command(events_index.id, about_us.id) + + # Check that all pages moved + for page_id in page_ids: + self.assertEqual(Page.objects.get(id=page_id).get_parent(), about_us)