def test_checkout_discount_form_not_applicable_voucher(monkeypatch, voucher):
    checkout = Mock(cart=Mock())
    form = CheckoutDiscountForm({'voucher': voucher.code}, checkout=checkout)
    monkeypatch.setattr(
        'saleor.discount.forms.get_voucher_discount_for_checkout',
        Mock(side_effect=NotApplicable('Not applicable')))
    assert not form.is_valid()
    assert 'voucher' in form.errors
Exemple #2
0
def test_invalid_checkout_discount_form(monkeypatch, voucher):
    checkout = Mock(cart=Mock())
    form = CheckoutDiscountForm({'voucher': voucher.code}, checkout=checkout)
    monkeypatch.setattr(
        'saleor.discount.forms.get_voucher_discount_for_checkout',
        Mock(side_effect=NotApplicable('Not applicable')))
    assert not form.is_valid()
    assert 'voucher' in form.errors
def test_checkout_discount_form_active_queryset_voucher_active(voucher):
    assert len(Voucher.objects.all()) == 1
    checkout = Mock(cart=Mock())
    voucher.start_date = date.today()
    voucher.save()
    form = CheckoutDiscountForm({'voucher': voucher.code}, checkout=checkout)
    qs = form.fields['voucher'].queryset
    assert len(qs) == 1
Exemple #4
0
def test_checkout_discount_form_active_queryset_voucher_not_active(voucher):
    assert Voucher.objects.count() == 1
    checkout = Mock(cart=Mock())
    voucher.start_date = date.today() + timedelta(days=1)
    voucher.save()
    form = CheckoutDiscountForm({'voucher': voucher.code}, checkout=checkout)
    qs = form.fields['voucher'].queryset
    assert qs.count() == 0
def test_checkout_discount_form_active_queryset_after_some_time(voucher):
    assert len(Voucher.objects.all()) == 1
    checkout = Mock(cart=Mock())
    voucher.start_date = date(year=2016, month=6, day=1)
    voucher.end_date = date(year=2016, month=6, day=2)
    voucher.save()

    with freeze_time('2016-05-31'):
        form = CheckoutDiscountForm(
            {'voucher': voucher.code}, checkout=checkout)
        assert len(form.fields['voucher'].queryset) == 0

    with freeze_time('2016-06-01'):
        form = CheckoutDiscountForm(
            {'voucher': voucher.code}, checkout=checkout)
        assert len(form.fields['voucher'].queryset) == 1

    with freeze_time('2016-06-03'):
        form = CheckoutDiscountForm(
            {'voucher': voucher.code}, checkout=checkout)
        assert len(form.fields['voucher'].queryset) == 0
def test_checkout_discount_form_invalid_voucher_code(monkeypatch):
    checkout = Mock(cart=Mock())
    form = CheckoutDiscountForm({'voucher': 'invalid'}, checkout=checkout)
    assert not form.is_valid()
    assert 'voucher' in form.errors