コード例 #1
0
def test_admin_edit(rf, admin_user):
    shop = get_default_shop()

    group = get_default_customer_group(shop)
    cgpd = ContactGroupPriceDisplay.objects.for_group_and_shop(group, shop)
    view = ContactGroupPriceDisplayEditView.as_view()


    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices

    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view(request, pk=cgpd.pk)
    response.render()
    content = force_text(response.content)

    data = extract_form_fields(BeautifulSoup(content))

    data.update({
        "price_display_mode": [PriceDisplayChoices.HIDE.value],
        "group": group.id,
    })

    request = apply_request_middleware(rf.post("/", data), user=admin_user, shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    group = get_default_customer_group(shop)

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is False
    assert options.include_taxes is None

    # none, with_taxes, without_taxes, hide
    k = "price_display_mode"
    data.update({k: [PriceDisplayChoices.NONE.value]})
    request = apply_request_middleware(rf.post("/", data), user=admin_user, shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True  # default
    assert options.include_taxes is None

    data.update({k: [PriceDisplayChoices.WITH_TAXES.value]})
    request = apply_request_middleware(rf.post("/", data), user=admin_user, shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful
    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True  # default
    assert options.include_taxes is True

    data.update({k: [PriceDisplayChoices.WITHOUT_TAXES.value]})
    request = apply_request_middleware(rf.post("/", data), user=admin_user, shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True
    assert options.include_taxes is False
コード例 #2
0
def test_contact_group_price_display_for_contact(regular_user):
    shop = get_default_shop()
    group = ContactGroup.objects.create(shop=shop).set_price_display_options(
        hide_prices=True)
    person = get_person_contact(regular_user)
    person.groups.add(group)

    assert not person.in_shop(shop)

    # price options for non shop
    options = person.get_price_display_options(group=group)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None  # again, a default

    # price options for the shop
    options = person.get_price_display_options(group=group, shop=shop)
    assert options
    assert options.show_prices is False
    assert options.include_taxes is None

    default_group = person.get_default_group()
    assert default_group.pk != group.pk
    assert default_group.price_display_options.exists()

    options = person.get_price_display_options(group=default_group)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None

    options = person.get_price_display_options(group=default_group, shop=shop)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None

    options = get_price_display_options_for_group_and_shop(group, None)
    assert options
    assert options.show_prices is True
    assert options.include_taxes is None

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options
    assert options.show_prices is False
    assert options.include_taxes is None

    # this will create options as well
    options = default_group.price_display_options.for_group_and_shop(
        default_group, shop)
    assert options
    options.show_prices_including_taxes = True
    options.save()

    # Now since default group has pricing options set these should be returned
    default_options = person.get_price_display_options()
    assert not default_options.include_taxes
    assert not default_options.hide_prices

    # change default group
    default_group.set_price_display_options(hide_prices=True)
    options = person.get_price_display_options(group=default_group)
    assert options
    assert options.show_prices is False  # True by default
    assert options.include_taxes is None
コード例 #3
0
ファイル: test_contacts.py プロジェクト: ruqaiya/shuup
def test_contact_group_price_display_for_contact(regular_user):
    shop = get_default_shop()
    group = ContactGroup.objects.create(shop=shop).set_price_display_options(hide_prices=True)
    person = get_person_contact(regular_user)
    person.groups.add(group)

    assert not person.in_shop(shop)


    # price options for non shop
    options = person.get_price_display_options(group=group)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None  # again, a default

    # price options for the shop
    options = person.get_price_display_options(group=group, shop=shop)
    assert options
    assert options.show_prices is False
    assert options.include_taxes is None

    default_group = person.get_default_group()
    assert default_group.pk != group.pk
    assert default_group.price_display_options.exists()

    options = person.get_price_display_options(group=default_group)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None

    options = person.get_price_display_options(group=default_group, shop=shop)
    assert options
    assert options.show_prices is True  # True by default
    assert options.include_taxes is None

    options = get_price_display_options_for_group_and_shop(group, None)
    assert options
    assert options.show_prices is True
    assert options.include_taxes is None

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options
    assert options.show_prices is False
    assert options.include_taxes is None

    # this will create options as well
    options = default_group.price_display_options.for_group_and_shop(default_group, shop)
    assert options
    options.show_prices_including_taxes = True
    options.save()

    # Now since default group has pricing options set these should be returned
    default_options = person.get_price_display_options()
    assert not default_options.include_taxes
    assert not default_options.hide_prices

    # change default group
    default_group.set_price_display_options(hide_prices=True)
    options = person.get_price_display_options(group=default_group)
    assert options
    assert options.show_prices is False  # True by default
    assert options.include_taxes is None
コード例 #4
0
def test_admin_edit(rf, admin_user):
    shop = get_default_shop()

    group = get_default_customer_group(shop)
    cgpd = ContactGroupPriceDisplay.objects.for_group_and_shop(group, shop)
    view = ContactGroupPriceDisplayEditView.as_view()

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices

    request = apply_request_middleware(rf.get("/"), user=admin_user)
    response = view(request, pk=cgpd.pk)
    response.render()
    content = force_text(response.content)

    data = extract_form_fields(BeautifulSoup(content))

    data.update({
        "price_display_mode": [PriceDisplayChoices.HIDE.value],
        "group": group.id,
    })

    request = apply_request_middleware(rf.post("/", data),
                                       user=admin_user,
                                       shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    group = get_default_customer_group(shop)

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is False
    assert options.include_taxes is None

    # none, with_taxes, without_taxes, hide
    k = "price_display_mode"
    data.update({k: [PriceDisplayChoices.NONE.value]})
    request = apply_request_middleware(rf.post("/", data),
                                       user=admin_user,
                                       shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True  # default
    assert options.include_taxes is None

    data.update({k: [PriceDisplayChoices.WITH_TAXES.value]})
    request = apply_request_middleware(rf.post("/", data),
                                       user=admin_user,
                                       shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful
    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True  # default
    assert options.include_taxes is True

    data.update({k: [PriceDisplayChoices.WITHOUT_TAXES.value]})
    request = apply_request_middleware(rf.post("/", data),
                                       user=admin_user,
                                       shop=shop)
    response = view(request, pk=cgpd.pk)
    assert response.status_code == 302  # save successful

    options = get_price_display_options_for_group_and_shop(group, shop)
    assert options.show_prices is True
    assert options.include_taxes is False