def test_shipping_method_query(client):
    client.shipping_methods.create(
        types.ShippingMethodDraft(
            key="test-shipping_method1",
            name="test shipping method1",
            tax_category=types.TaxCategoryResourceIdentifier(id="dummy"),
            zone_rates=[],
            is_default=False,
        ))
    client.shipping_methods.create(
        types.ShippingMethodDraft(
            key="test-shipping_method2",
            name="test shipping method2",
            tax_category=types.TaxCategoryResourceIdentifier(id="dummy"),
            zone_rates=[],
            is_default=False,
        ))

    # single sort query
    result = client.shipping_methods.query(sort="id asc")
    assert len(result.results) == 2
    assert result.total == 2

    # multiple sort queries
    result = client.shipping_methods.query(sort=["id asc", "name asc"])
    assert len(result.results) == 2
    assert result.total == 2
def test_shipping_method_update(client):
    """Test the return value of the update methods.

    It doesn't test the actual update itself.
    TODO: See if this is worth testing since we're using a mocking backend
    """
    shipping_method = client.shipping_methods.create(
        types.ShippingMethodDraft(
            key="test-shipping-method",
            name="test shipping method",
            tax_category=types.TaxCategoryResourceIdentifier(id="dummy"),
            zone_rates=[],
            is_default=False,
        ))
    assert shipping_method.key == "test-shipping-method"

    shipping_method = client.shipping_methods.update_by_id(
        id=shipping_method.id,
        version=shipping_method.version,
        actions=[
            types.ShippingMethodChangeNameAction(name="shipping-method-2")
        ],
    )

    assert shipping_method.key == "test-shipping-method"
Ejemplo n.º 3
0
def test_shipping_method_query(client):
    client.shipping_methods.create(
        types.ShippingMethodDraft(key="test-shipping_method1",
                                  name="test shipping method1"))
    client.shipping_methods.create(
        types.ShippingMethodDraft(key="test-shipping_method2",
                                  name="test shipping method2"))

    # single sort query
    result = client.shipping_methods.query(sort="id asc")
    assert len(result.results) == 2
    assert result.total == 2

    # multiple sort queries
    result = client.shipping_methods.query(sort=["id asc", "name asc"])
    assert len(result.results) == 2
    assert result.total == 2
Ejemplo n.º 4
0
def test_multiple_expand(client, commercetools_api):
    shipping_method = client.shipping_methods.create(
        types.ShippingMethodDraft(
            key="test-shipping-method",
            name="test shipping method",
            tax_category=types.TaxCategoryResourceIdentifier(id="dummy"),
            zone_rates=[],
            is_default=False,
        ))

    payment = client.payments.create(
        types.PaymentDraft(
            key="test-payment",
            amount_planned=types.Money(cent_amount=2000, currency_code="GBP"),
            payment_method_info=types.PaymentMethodInfo(
                payment_interface="ADYEN", method="mc"),
            transactions=[
                types.TransactionDraft(
                    type=types.TransactionType.CHARGE,
                    amount=types.Money(cent_amount=2000, currency_code="GBP"),
                    state=types.TransactionState.PENDING,
                )
            ],
        ))

    order = get_test_order()
    order.shipping_info.shipping_method.id = shipping_method.id
    order.payment_info.payments[0].id = payment.id
    commercetools_api.orders.add_existing(order)

    expanded_order = client.orders.get_by_id(
        order.id,
        expand=["shippingInfo.shippingMethod", "paymentInfo.payments[*]"])

    assert expanded_order.id
    assert expanded_order.shipping_info.shipping_method.obj.id == shipping_method.id
    assert expanded_order.payment_info.payments[0].obj.id == payment.id

    expanded_order = client.orders.get_by_id(
        order.id, expand=["shippingInfo.shippingMethod"])

    assert expanded_order.id
    assert expanded_order.shipping_info.shipping_method.obj.id == shipping_method.id
    assert expanded_order.payment_info.payments[0].obj is None

    query_results = client.orders.query(
        expand=["shippingInfo.shippingMethod", "paymentInfo.payments[*]"])

    expanded_order = query_results.results[0]

    assert expanded_order.id
    assert expanded_order.shipping_info.shipping_method.obj.id == shipping_method.id
    assert expanded_order.payment_info.payments[0].obj.id == payment.id
Ejemplo n.º 5
0
def test_shipping_method_get_by_id(client):
    shipping_method = client.shipping_methods.create(
        types.ShippingMethodDraft(key="test-shipping-method",
                                  name="test shipping method"))

    assert shipping_method.id
    assert shipping_method.key == "test-shipping-method"
    assert shipping_method.name == "test shipping method"

    shipping_method = client.shipping_methods.get_by_id(shipping_method.id)
    assert shipping_method.id
    assert shipping_method.key == "test-shipping-method"

    with pytest.raises(HTTPError):
        client.shipping_methods.get_by_id("invalid")
Ejemplo n.º 6
0
def test_shipping_method_update(client):
    """Test the return value of the update methods.

    It doesn't test the actual update itself.
    TODO: See if this is worth testing since we're using a mocking backend
    """
    shipping_method = client.shipping_methods.create(
        types.ShippingMethodDraft(key="test-shipping-method",
                                  name="test shipping method"))
    assert shipping_method.key == "test-shipping-method"

    shipping_method = client.shipping_methods.update_by_id(
        id=shipping_method.id,
        version=shipping_method.version,
        actions=[
            types.ShippingMethodChangeNameAction(name="shipping-method-2")
        ],
    )

    assert shipping_method.key == "test-shipping-method"
def test_shipping_method_get_by_id(client):
    shipping_method = client.shipping_methods.create(
        types.ShippingMethodDraft(
            key="test-shipping-method",
            name="test shipping method",
            tax_category=types.TaxCategoryResourceIdentifier(id="dummy"),
            zone_rates=[],
            is_default=False,
        ))

    assert shipping_method.id
    assert shipping_method.key == "test-shipping-method"
    assert shipping_method.name == "test shipping method"

    shipping_method = client.shipping_methods.get_by_id(shipping_method.id)
    assert shipping_method.id
    assert shipping_method.key == "test-shipping-method"

    with pytest.raises(HTTPError):
        client.shipping_methods.get_by_id("invalid")
Ejemplo n.º 8
0
 def post_load(self, data, **kwargs):
     return types.ShippingMethodDraft(**data)