Пример #1
0
def test_pageform_urls(rf, admin_user):
    shop = factories.get_default_shop()
    en_url = "test-url"
    fi_url = "test-fi-url"
    activate("en")
    request = apply_request_middleware(rf.post("/"),
                                       user=admin_user,
                                       shop=shop)
    with override_settings(LANGUAGES=[("en", "en"), ("fi", "fi")]):
        form = PageForm(request=request,
                        data={
                            "title__en": "test",
                            "content__en": "test",
                            "url__en": en_url
                        })
        assert form.is_valid()
        assert form.is_url_valid("en", "url__en", en_url)
        assert form.is_url_valid("fi", "url__fi", fi_url)

        # create a page
        Page.objects.create(shop=shop,
                            content="test",
                            url=en_url,
                            title="test")
        form = PageForm(request=request,
                        data={
                            "title__en": "test",
                            "content__en": "test",
                            "url__en": en_url,
                            "url__fi": fi_url
                        })
        assert not form.is_valid()
        assert not form.is_url_valid("en", "url__en", en_url)
        assert form.is_url_valid(
            "fi", "url__fi", fi_url)  # no changes in finnish, should be valid

        form = PageForm(request=request,
                        data={
                            "title__en": "test",
                            "content__en": "test",
                            "url__en": "new-url"
                        })
        assert form.is_valid()
        assert form.is_url_valid("en", "url__en", "new-url")
        assert form.is_url_valid("fi", "url__fi", fi_url)
Пример #2
0
def test_pageform_urls(rf, admin_user):
    shop = factories.get_default_shop()
    en_url = "test-url"
    fi_url = "test-fi-url"
    activate("en")
    request = apply_request_middleware(rf.post("/"), user=admin_user, shop=shop)
    with override_settings(LANGUAGES=[("en", "en"), ("fi", "fi")]):
        form = PageForm(request=request, data={
            "title__en": "test",
            "content__en": "test",
            "url__en": en_url
        })
        assert form.is_valid()
        assert form.is_url_valid("en", "url__en", en_url)
        assert form.is_url_valid("fi", "url__fi", fi_url)

        # create a page
        Page.objects.create(shop=shop, content="test", url=en_url, title="test")
        form = PageForm(request=request, data={
            "title__en": "test",
            "content__en": "test",
            "url__en": en_url,
            "url__fi": fi_url
        })
        assert not form.is_valid()
        assert not form.is_url_valid("en", "url__en", en_url)
        assert form.is_url_valid("fi", "url__fi", fi_url)  # no changes in finnish, should be valid

        form = PageForm(request=request, data={
            "title__en": "test",
            "content__en": "test",
            "url__en": "new-url"
        })
        assert form.is_valid()
        assert form.is_url_valid("en", "url__en", "new-url")
        assert form.is_url_valid("fi", "url__fi", fi_url)