519 |
519 |
site_settings.refresh_from_db()
|
520 |
520 |
assert site_settings.initial_login_page_path == ''
|
521 |
521 |
assert site_settings.welcome_page_path == ''
|
|
522 |
|
|
523 |
|
|
524 |
def test_import_export_duplicated_slugs():
|
|
525 |
first_page = Page.objects.create(title='Title', slug='title', description='1')
|
|
526 |
output = get_output_of_command('export_site')
|
|
527 |
|
|
528 |
# create real situation where a subpage has the same slug as a top-level page
|
|
529 |
second_page = Page.objects.create(title='Test', slug='test')
|
|
530 |
third_page = Page.objects.create(title='Title', slug='title', description='test', parent=second_page)
|
|
531 |
first_page.description = '2'
|
|
532 |
first_page.save()
|
|
533 |
|
|
534 |
import_site(data=json.loads(output))
|
|
535 |
assert Page.objects.count() == 3
|
|
536 |
|
|
537 |
# top-level page has been updated
|
|
538 |
first_page.refresh_from_db()
|
|
539 |
assert first_page.description == '1'
|
|
540 |
|
|
541 |
# same slug subpage was left untouched
|
|
542 |
third_page.refresh_from_db()
|
|
543 |
assert third_page.description == 'test'
|
|
544 |
|
|
545 |
output = get_output_of_command('export_site')
|
|
546 |
third_page.description = ''
|
|
547 |
third_page.save()
|
|
548 |
|
|
549 |
import_site(data=json.loads(output))
|
|
550 |
assert Page.objects.count() == 3
|
|
551 |
|
|
552 |
# top level page was left untouched
|
|
553 |
first_page.refresh_from_db()
|
|
554 |
assert first_page.description == '1'
|
|
555 |
|
|
556 |
# same slug subpage has been updated
|
|
557 |
third_page.refresh_from_db()
|
|
558 |
assert third_page.description == 'test'
|
|
559 |
|
|
560 |
Page.objects.all().delete()
|
|
561 |
import_site(data=json.loads(output))
|
|
562 |
assert Page.objects.count() == 3
|
|
563 |
assert Page.objects.filter(parent__isnull=True).count() == 2
|
522 |
|
-
|