示例#1
0
def django_db_setup(django_db_setup, django_db_blocker):
    with django_db_blocker.unblock():
        root_page = Page(title='test', path='test', depth=1)
        root_page.save()
        site = Site(hostname='www.example.com', root_page=root_page)
        site.save()
        count_settings = AnimalCountSettings(site_id=site.id)
        count_settings.save()
示例#2
0
def test_auto_recache(root_page, example_svg_upload):
    page = Page(title="nnep", slug="nnep")
    page.set_url_path(root_page)
    root_page.add_child(instance=page)
    page.save()
    assert page.url

    map = ImageMap.objects.create(svg=example_svg_upload)
    map.regions.create(element_id='blue', link_page=page)
    map.recache_svg(save=True)
    assert 'nnep' in map.rendered_svg
    page.slug = 'ffflop'
    page.save()  # The `post_save` triggers will get called...
    assert 'ffflop' in ImageMap.objects.get(pk=map.pk).rendered_svg
def test_auto_recache(root_page, example_svg_upload):
    page = Page(title="nnep", slug="nnep")
    page.set_url_path(root_page)
    root_page.add_child(instance=page)
    page.save()
    assert page.url

    map = ImageMap.objects.create(svg=example_svg_upload)
    map.regions.create(element_id='blue', link_page=page)
    map.recache_svg(save=True)
    assert 'nnep' in map.rendered_svg
    page.slug = 'ffflop'
    page.save()  # The `post_save` triggers will get called...
    assert 'ffflop' in ImageMap.objects.get(pk=map.pk).rendered_svg
示例#4
0
def test_exclude_variants_with_pages_querysets():
    '''
    Test that excludes variant works for querysets
    '''
    for i in range(5):
        page = WagtailPage(path="/" + str(i),
                           depth=0,
                           url_path="/",
                           title="Hoi " + str(i))
        page.save()
    pages = WagtailPage.objects.all().order_by('id')

    result = exclude_variants(pages)
    assert type(result) == type(pages)
    assert result == pages
def test_rendering(root_page, example_svg_upload, dummy_wagtail_doc):
    page = Page(title="nnep", slug="nnep")
    page.set_url_path(root_page)
    root_page.add_child(instance=page)
    page.save()
    assert page.url

    map = ImageMap.objects.create(svg=example_svg_upload)
    map.regions.create(element_id='green', link_external='/foobar', target='_blank')
    map.regions.create(element_id='blue', link_page=page, target='_top')
    map.regions.create(element_id='red', link_document=dummy_wagtail_doc)

    svg = map.rendered_svg
    assert '/foobar' in svg
    assert '_blank' in svg
    assert 'nnep' in svg
    assert '_top' in svg
    assert ('documents/%s' % dummy_wagtail_doc.pk) in svg
示例#6
0
def test_exclude_variants_with_pages_querysets_meta_none():
    '''
    Test that excludes variant works for querysets with meta as none
    '''
    for i in range(5):
        page = WagtailPage(path="/" + str(i),
                           depth=0,
                           url_path="/",
                           title="Hoi " + str(i))
        page.save()
    pages = WagtailPage.objects.all().order_by('id')
    # add variants
    for page in pages:
        page.personalisation_metadata = None
        page.save()

    result = exclude_variants(pages)
    assert type(result) == type(pages)
    assert result == pages
示例#7
0
def test_rendering(root_page, example_svg_upload, dummy_wagtail_doc):
    page = Page(title="nnep", slug="nnep")
    page.set_url_path(root_page)
    root_page.add_child(instance=page)
    page.save()
    assert page.url

    map = ImageMap.objects.create(svg=example_svg_upload)
    map.regions.create(element_id='green',
                       link_external='/foobar',
                       target='_blank')
    map.regions.create(element_id='blue', link_page=page, target='_top')
    map.regions.create(element_id='red', link_document=dummy_wagtail_doc)

    svg = map.rendered_svg
    assert '/foobar' in svg
    assert '_blank' in svg
    assert 'nnep' in svg
    assert '_top' in svg
    assert ('documents/%s' % dummy_wagtail_doc.pk) in svg
示例#8
0
def test_exclude_variants_with_pages_querysets_not_canonical():
    '''
    Test that excludes variant works for querysets with
    personalisation_metadata canonical False
    '''
    for i in range(5):
        page = WagtailPage(path="/" + str(i),
                           depth=0,
                           url_path="/",
                           title="Hoi " + str(i))
        page.save()
    pages = WagtailPage.objects.all().order_by('id')
    # add variants
    for page in pages:
        page.personalisation_metadata = Metadata(is_canonical=False)
        page.save()

    result = exclude_variants(pages)
    assert type(result) == type(pages)
    assert result.count() == 0
示例#9
0
        return
    except:
        pass

    kcp_type = ContentType.objects.get_for_model(target_model)
    cp_page = page.specific
    kcp_page = target_model(body=cp_page.body, page_ptr=page)
    for f in kcp_page._meta.fields:
        setattr(kcp_page, f.name, getattr(cp_page, f.name))
    super(Page, kcp_page).save()

    for f in dummy_page._meta.fields:
        setattr(cp_page, f.name, getattr(dummy_page, f.name))
    cp_page.page_ptr_id = dummy_page.id
    cp_page.save()
    print(page)
    models.Model.delete(cp_page, keep_parents=True)

    page.content_type = kcp_type
    page.save(update_fields=['content_type'])


with transaction.atomic():
    dummy_page.save()
    if not isinstance(k_root, KehmetFrontPage):
        convert_page(k_root, KehmetFrontPage)
    for page in pages:
        convert_page(page, KehmetContentPage)
    p = Page.objects.get(id=dummy_page.id)
    p.delete()