コード例 #1
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_page_permission_group(rf):
    shop = get_default_shop()
    page = create_page(available_from=datetime.date(1988, 1, 1), shop=shop)
    permitted_group = Group.objects.create(name="Permitted")
    page.available_permission_groups.add(permitted_group)
    view_func = PageView.as_view()

    # not available for anonymous
    request = apply_request_middleware(rf.get("/"))
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    # not available for wrong user group
    user = create_random_user()
    request = apply_request_middleware(rf.get("/"), user=user)
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    # available for correct user group
    user.groups.add(permitted_group)
    request = apply_request_middleware(rf.get("/"), user=user)
    response = view_func(request, url=page.url)
    assert response.status_code == 200
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #2
0
ファイル: test_children.py プロジェクト: zarlant/shuup
def check_children_content(request, page, children_content, children_visibility):
    view_func = PageView.as_view()
    response = view_func(request, url=page.url)
    response.render()

    assert page.get_html() in response.rendered_content
    assert bool(children_content in response.rendered_content) == children_visibility
コード例 #3
0
ファイル: test_children.py プロジェクト: gurch101/shuup
def check_children_content(request, page, children_content, children_visibility):
    view_func = PageView.as_view()
    response = view_func(request, url=page.url)
    response.render()

    assert page.get_html() in response.rendered_content
    assert bool(children_content in response.rendered_content) == children_visibility
コード例 #4
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_superuser_can_see_invisible_page(rf, admin_user):
    page = create_page(shop=get_default_shop(), available_from=None)
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #5
0
ファイル: test_page_view.py プロジェクト: ruqaiya/shuup
def test_superuser_can_see_invisible_page(rf, admin_user):
    page = create_page(shop=get_default_shop(), available_from=None)
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #6
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_visible_page_has_right_content(rf):
    page = create_page(available_from=datetime.date(1988, 1, 1), shop=get_default_shop())
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    assert is_anonymous(request.user)
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #7
0
ファイル: test_page_view.py プロジェクト: gurch101/shuup
def test_anon_cant_see_invisible_page(rf):
    page = create_page()
    get_default_shop()
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    assert request.user.is_anonymous()
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)
コード例 #8
0
def test_superuser_can_see_invisible_page(rf, template_name):
    template_path = "shuup/simple_cms/" + template_name
    page = create_page(template_name=template_path, available_from=datetime.date(1988, 1, 1), shop=get_default_shop())
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    response = view_func(request, url=page.url)
    response.render()
    assert response.template_name[0] == template_path
コード例 #9
0
ファイル: test_page_view.py プロジェクト: ruqaiya/shuup
def test_visible_page_has_right_content(rf):
    page = create_page(available_from=datetime.date(1988, 1, 1), shop=get_default_shop())
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    assert request.user.is_anonymous()
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #10
0
def test_anon_cant_see_invisible_page(rf):
    page = create_page()
    get_default_shop()
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    assert request.user.is_anonymous()
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)
コード例 #11
0
ファイル: test_children.py プロジェクト: Bobby00/boss_shuup
def test_visible_children(rf):
    shop = get_default_shop()
    request = apply_request_middleware(rf.get("/"))
    assert is_anonymous(request.user)

    parent_content = "Parent content"
    page = create_page(available_from=datetime.date(1988, 1, 1),
                       content=parent_content,
                       shop=shop,
                       url="test")
    children_content = "Children content"
    # Visible child
    create_page(available_from=datetime.date(2000, 1, 1),
                content=children_content,
                parent=page,
                shop=shop)

    assert page.list_children_on_page == False
    check_children_content(request, page, children_content, False)

    page.list_children_on_page = True
    page.save()
    check_children_content(request, page, children_content, True)

    # check timestamps
    page.show_child_timestamps = True
    page.save()
    page.refresh_from_db()

    view = PageView.as_view()
    response = view(request=request, pk=page.pk, url="test")
    response.render()
    content = force_text(response.content)
    assert "Children content" in content
    assert "Jan 1, 2000, 12:00:00 AM" in content

    page.show_child_timestamps = False
    page.save()
    page.refresh_from_db()
    view = PageView.as_view()
    response = view(request=request, pk=page.pk, url="test")
    response.render()
    content = force_text(response.content)
    assert "Children content" in content
    assert "Jan 1, 2000, 12:00:00 AM" not in content
コード例 #12
0
ファイル: test_page_view.py プロジェクト: ruqaiya/shuup
def test_render_page_title(rf):
    page = create_page(render_title=False, available_from=datetime.date(1988, 1, 1), shop=get_default_shop())
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    response = view_func(request, url=page.url)
    response.render()
    soup = BeautifulSoup(response.content)
    title = soup.find("h1", class_= "page-header").text
    assert title == "\n"
コード例 #13
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_render_page_title(rf):
    page = create_page(render_title=False, available_from=datetime.date(1988, 1, 1), shop=get_default_shop())
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    response = view_func(request, url=page.url)
    response.render()
    soup = BeautifulSoup(response.content)
    title = soup.find("h1", class_="page-header").text
    assert title == "\n"
コード例 #14
0
def test_edit_page_in_admin_toolbar(rf, admin_user):
    shop = get_default_shop()  # test
    shop.staff_members.add(admin_user)
    model = create_page(shop=shop)
    view = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view(request, url=model.url)
    response.render()
    content = (response.content)
    soup = BeautifulSoup(content)
    check_url(soup, model)
コード例 #15
0
def test_edit_page_in_admin_toolbar(rf, admin_user):
    shop = get_default_shop()  # test 
    shop.staff_members.add(admin_user)
    model = create_page(shop=shop)
    view = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view(request, url=model.url)
    response.render()
    content = (response.content)
    soup = BeautifulSoup(content)
    check_url(soup, model)
コード例 #16
0
ファイル: test_page_view.py プロジェクト: gurch101/shuup
def test_multilanguage_page_404_no_xlate(rf):
    # https://github.com/edoburu/django-parler/issues/50
    cache.clear()  # this is here, because parler cache is enabled and tests use same pk with page
    page = create_multilanguage_page(eternal=True, url="no_content",
                                     languages=("udm",))  # create page with udm language
    get_default_shop()
    request = apply_request_middleware(rf.get("/"))
    with translation.override("fi"):  # change language of the page to fi
        view_func = PageView.as_view()
        with pytest.raises(Http404):
            response = view_func(request, url="no_content-udm")  # Using Udmurt URL, but xlate is Finnish . . .
            assert response.status_code == 404  # ... should 404
コード例 #17
0
ファイル: test_page_view.py プロジェクト: tmskrtsz/shuup
def test_multilanguage_page_404_no_xlate(rf):
    # https://github.com/edoburu/django-parler/issues/50
    cache.clear()  # this is here, because parler cache is enabled and tests use same pk with page
    page = create_multilanguage_page(eternal=True, url="no_content", shop=get_default_shop(),
                                     languages=("udm",))  # create page with udm language
    get_default_shop()
    request = apply_request_middleware(rf.get("/"))
    with translation.override("fi"):  # change language of the page to fi
        view_func = PageView.as_view()
        with pytest.raises(Http404):
            response = view_func(request, url="no_content-udm")  # Using Udmurt URL, but xlate is Finnish . . .
            assert response.status_code == 404  # ... should 404
コード例 #18
0
ファイル: test_page_view.py プロジェクト: ruqaiya/shuup
def test_owner_can_see_invisible_page(rf):
    user = create_random_user()
    page = create_page(shop=get_default_shop(), available_from=None)
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=user)
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    page.created_by = user
    page.save()
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #19
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_owner_can_see_invisible_page(rf):
    user = create_random_user()
    page = create_page(shop=get_default_shop(), available_from=None)
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"), user=user)
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    page.created_by = user
    page.save()
    response = view_func(request, url=page.url)
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #20
0
def test_multilanguage_page_redirect(rf):
    page = create_multilanguage_page(eternal=True, url="redirector")
    get_default_shop()
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    with translation.override("fi"):
        page.set_current_language("fi")
        finnish_url = page.url
        response = view_func(request, url=finnish_url)
        assert response.status_code == 200  # Using the Finnish URL works
        page.set_current_language("en")
        english_url = page.url
        response = view_func(request, url=english_url)
        assert response.status_code == 302  # Using the English URL - redirect to finnish
        assert finnish_url in response["location"]
コード例 #21
0
ファイル: test_page_view.py プロジェクト: gurch101/shuup
def test_multilanguage_page_redirect(rf):
    page = create_multilanguage_page(eternal=True, url="redirector")
    get_default_shop()
    view_func = PageView.as_view()
    request = apply_request_middleware(rf.get("/"))
    with translation.override("fi"):
        page.set_current_language("fi")
        finnish_url = page.url
        response = view_func(request, url=finnish_url)
        assert response.status_code == 200  # Using the Finnish URL works
        page.set_current_language("en")
        english_url = page.url
        response = view_func(request, url=english_url)
        assert response.status_code == 302  # Using the English URL - redirect to finnish
        assert finnish_url in response["location"]
コード例 #22
0
ファイル: test_page_view.py プロジェクト: ruqaiya/shuup
def test_page_different_shops(rf):
    shop1 = get_shop(status=ShopStatus.ENABLED, identifier="shop-1", name="Shop 1", domain="shop1")
    shop2 = get_shop(status=ShopStatus.ENABLED, identifier="shop-2", name="Shop 2", domain="shop2")

    # dreate page only for shop2
    page = create_page(available_from=datetime.date(1988, 1, 1), shop=shop2)
    view_func = PageView.as_view()

    request = apply_request_middleware(rf.get("/", HTTP_HOST=shop1.domain))
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    request = apply_request_middleware(rf.get("/", HTTP_HOST=shop2.domain))
    response = view_func(request, url=page.url)
    assert response.status_code == 200
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #23
0
ファイル: test_page_view.py プロジェクト: yurkobb/shuup
def test_page_different_shops(rf):
    shop1 = get_shop(status=ShopStatus.ENABLED, identifier="shop-1", name="Shop 1", domain="shop1")
    shop2 = get_shop(status=ShopStatus.ENABLED, identifier="shop-2", name="Shop 2", domain="shop2")

    # dreate page only for shop2
    page = create_page(available_from=datetime.date(1988, 1, 1), shop=shop2)
    view_func = PageView.as_view()

    request = apply_request_middleware(rf.get("/", HTTP_HOST=shop1.domain))
    with pytest.raises(Http404):
        response = view_func(request, url=page.url)

    request = apply_request_middleware(rf.get("/", HTTP_HOST=shop2.domain))
    response = view_func(request, url=page.url)
    assert response.status_code == 200
    response.render()
    assert "<h1>Bacon ipsum" in response.rendered_content
コード例 #24
0
ファイル: urls.py プロジェクト: NamiStudio/shuup
# -*- coding: utf-8 -*-
# This file is part of Shuup.
#
# Copyright (c) 2012-2016, Shoop Ltd. All rights reserved.
#
# This source code is licensed under the AGPLv3 license found in the
# LICENSE file in the root directory of this source tree.
from django.conf.urls import patterns, url

from shuup.simple_cms.views import PageView

urlpatterns = patterns(
    '',
    url(r'^(?P<url>.*)/$',
        PageView.as_view(),
        name='cms_page'),
)
コード例 #25
0
# -*- coding: utf-8 -*-
# This file is part of Shuup.
#
# Copyright (c) 2012-2021, Shuup Commerce Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
from django.conf.urls import url

from shuup.simple_cms.views import PageView

urlpatterns = [
    url(r"^(?P<url>.*)/$", PageView.as_view(), name="cms_page"),
]
コード例 #26
0
ファイル: urls.py プロジェクト: Bobby00/boss_shuup
# -*- coding: utf-8 -*-
# This file is part of Shuup.
#
# Copyright (c) 2012-2020, Shoop Commerce Ltd. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
from django.conf.urls import url

from shuup.simple_cms.views import PageView

urlpatterns = [
    url(r'^(?P<url>.*)/$',
        PageView.as_view(),
        name='cms_page'),
]
コード例 #27
0
# -*- coding: utf-8 -*-
# This file is part of Shuup.
#
# Copyright (c) 2012-2018, Shuup Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
from django.conf.urls import url

from shuup.simple_cms.views import PageView

urlpatterns = [
    url(r'^(?P<url>.*)/$', PageView.as_view(), name='cms_page'),
]