コード例 #1
0
def test_copy_order_to_basket_for_anonymous():
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        order = _create_order(shop, AnonymousContact())

        basket = factories.get_basket(shop)
        assert basket.customer is None
        client = APIClient()

        assert basket.customer is None
        _fill_new_basket_from_order(client, basket, None, order)

        # do it again, basket should clear first then read items
        _fill_new_basket_from_order(client, basket, None, order)
コード例 #2
0
def test_copy_order_to_basket(admin_user):
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        order = _create_order(shop, get_person_contact(admin_user))

        client = get_client(admin_user)
        basket = factories.get_basket(shop)
        # No need to assign basket customer separately since the
        # API will use request customer as default customer

        _fill_new_basket_from_order(client, basket, order.customer, order)

        # do it again, basket should clear first then read items
        _fill_new_basket_from_order(client, basket, order.customer, order)
コード例 #3
0
def test_copy_order_to_basket_for_anonymous():
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        order = _create_order(shop, AnonymousContact())

        basket = factories.get_basket(shop)
        assert basket.customer is None
        client = APIClient()

        assert basket.customer is None
        _fill_new_basket_from_order(client, basket, None, order)

        # do it again, basket should clear first then read items
        _fill_new_basket_from_order(client, basket, None, order)
コード例 #4
0
def test_copy_order_to_basket(admin_user):
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        order = _create_order(shop, get_person_contact(admin_user))

        client = get_client(admin_user)
        basket = factories.get_basket(shop)
        # No need to assign basket customer separately since the
        # API will use request customer as default customer

        _fill_new_basket_from_order(client, basket, order.customer, order)

        # do it again, basket should clear first then read items
        _fill_new_basket_from_order(client, basket, order.customer, order)
コード例 #5
0
def test_copy_order_to_basket_for_staff(admin_user):
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        customer = factories.create_random_person()
        order = _create_order(shop, customer)

        client = get_client(admin_user)
        basket = factories.get_basket(shop)
        uuid = "%s-%s" % (shop.pk, basket.key)
        response = client.post(
            '/api/shuup/basket/%s/set_customer/' % uuid, format="json", data={"customer": customer.id}
        )
        assert response.status_code == status.HTTP_200_OK

        response = client.post('/api/shuup/basket/%s/add_from_order/' % uuid, {"order": order.pk})
        assert response.status_code == status.HTTP_404_NOT_FOUND  # admin user is not staff

        shop.staff_members.add(admin_user)
        _fill_new_basket_from_order(client, basket, customer, order)
コード例 #6
0
def test_copy_order_to_basket_for_staff(admin_user):
    with override_settings(**REQUIRED_SETTINGS):
        set_configuration()
        shop = factories.get_default_shop()
        customer = factories.create_random_person()
        order = _create_order(shop, customer)

        client = get_client(admin_user)
        basket = factories.get_basket(shop)
        uuid = "%s-%s" % (shop.pk, basket.key)
        response = client.post(
            '/api/shuup/basket/%s/set_customer/' % uuid, format="json", data={"customer": customer.id}
        )
        assert response.status_code == status.HTTP_200_OK

        response = client.post('/api/shuup/basket/%s/add_from_order/' % uuid, {"order": order.pk})
        assert response.status_code == status.HTTP_404_NOT_FOUND  # admin user is not staff

        shop.staff_members.add(admin_user)
        _fill_new_basket_from_order(client, basket, customer, order)