Exemplo n.º 1
0
def test_refno_generation(method):
    for attempt in range(10):
        with override_settings(SHUUP_REFERENCE_NUMBER_METHOD=method):
            order = create_empty_order()
            order.save()
            assert order.reference_number
        with pytest.raises(ValueError):
            get_reference_number(order)
Exemplo n.º 2
0
def test_refno_generation(method):
    for attempt in range(10):
        with override_settings(SHUUP_REFERENCE_NUMBER_METHOD=method):
            order = create_empty_order()
            order.save()
            assert order.reference_number
        with pytest.raises(ValueError):
            get_reference_number(order)
Exemplo n.º 3
0
def test_custom_refno_generation():
    methods = (custom_refno_gen,
               "%s.%s" % (__name__, custom_refno_gen.__name__))
    for method in methods:
        with override_settings(SHUUP_REFERENCE_NUMBER_METHOD=method):
            order = create_empty_order()
            order.save()
            assert order.reference_number == custom_refno_gen(order)
        with pytest.raises(ValueError):
            get_reference_number(order)
Exemplo n.º 4
0
def test_custom_refno_generation():
    methods = (
        custom_refno_gen,
        "%s.%s" % (__name__, custom_refno_gen.__name__)
    )
    for method in methods:
        with override_settings(SHUUP_REFERENCE_NUMBER_METHOD=method):
            order = create_empty_order()
            order.save()
            assert order.reference_number == custom_refno_gen(order)
        with pytest.raises(ValueError):
            get_reference_number(order)
Exemplo n.º 5
0
def test_ref_lengths():
    from shuup.admin.modules.settings import consts
    from shuup.admin.modules.settings.enums import OrderReferenceNumberMethod

    # clear shop configurations
    shop = get_default_shop()

    ConfigurationItem.objects.filter(shop=shop).delete()
    order = create_empty_order(shop=shop)
    order.save()
    order.reference_number = None
    order.save()

    ref_number = get_reference_number(order)  # by default we return "unique"
    assert len(ref_number) == 17 + 1 # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD, OrderReferenceNumberMethod.UNIQUE.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 17 + 1  # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_LENGTH_FIELD, 25)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 25 + 1  # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_LENGTH_FIELD, 19)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD, OrderReferenceNumberMethod.RUNNING.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1
    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, "123")
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1
    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, 123)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case
    order.reference_number = None
    order.save()

    # reset prefix
    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, "")
    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD, OrderReferenceNumberMethod.SHOP_RUNNING.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case
    order.reference_number = None
    order.save()
Exemplo n.º 6
0
def test_ref_lengths():
    from shuup.admin.modules.settings import consts
    from shuup.admin.modules.settings.enums import OrderReferenceNumberMethod

    # clear shop configurations
    shop = get_default_shop()

    ConfigurationItem.objects.filter(shop=shop).delete()
    order = create_empty_order(shop=shop)
    order.save()
    order.reference_number = None
    order.save()

    ref_number = get_reference_number(order)  # by default we return "unique"
    assert len(ref_number) == 17 + 1  # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD,
                      OrderReferenceNumberMethod.UNIQUE.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 17 + 1  # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_LENGTH_FIELD, 25)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 25 + 1  # unique ref + checksum

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_LENGTH_FIELD, 19)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case

    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD,
                      OrderReferenceNumberMethod.RUNNING.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1
    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, "123")
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1
    order.reference_number = None
    order.save()

    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, 123)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case
    order.reference_number = None
    order.save()

    # reset prefix
    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_PREFIX_FIELD, "")
    configuration.set(shop, consts.ORDER_REFERENCE_NUMBER_METHOD_FIELD,
                      OrderReferenceNumberMethod.SHOP_RUNNING.value)
    ref_number = get_reference_number(order)
    assert len(ref_number) == 19 + 1  # Finnish case
    order.reference_number = None
    order.save()