def test_get_or_create_checkout_from_request( checkout_request_factory, monkeypatch, customer_user ): token = uuid4() queryset = Checkout.objects.all() request = checkout_request_factory(user=customer_user, token=token) user_checkout = Checkout(user=customer_user) anonymous_checkout = Checkout() mock_get_for_user = Mock(return_value=(user_checkout, False)) mock_get_for_anonymous = Mock(return_value=anonymous_checkout) monkeypatch.setattr( "saleor.checkout.utils.get_or_create_user_checkout", mock_get_for_user ) monkeypatch.setattr( "saleor.checkout.utils.get_or_create_anonymous_checkout_from_token", mock_get_for_anonymous, ) returned_checkout = utils.get_or_create_checkout_from_request(request, queryset) mock_get_for_user.assert_called_once_with(customer_user, queryset) assert returned_checkout == user_checkout request = checkout_request_factory(user=None, token=token) returned_checkout = utils.get_or_create_checkout_from_request(request, queryset) mock_get_for_anonymous.assert_called_once_with(token, queryset) assert returned_checkout == anonymous_checkout
def test_get_or_create_checkout_from_request(checkout_request_factory, monkeypatch, customer_user): token = uuid4() queryset = Checkout.objects.all() request = checkout_request_factory(user=customer_user, token=token) user_checkout = Checkout(user=customer_user) anonymous_checkout = Checkout() mock_get_for_user = Mock(return_value=(user_checkout, False)) mock_get_for_anonymous = Mock(return_value=anonymous_checkout) monkeypatch.setattr("saleor.checkout.utils.get_user_checkout", mock_get_for_user) monkeypatch.setattr( "saleor.checkout.utils.get_or_create_anonymous_checkout_from_token", mock_get_for_anonymous, ) returned_checkout = utils.get_or_create_checkout_from_request( request, queryset) mock_get_for_user.assert_called_once_with(customer_user, queryset, auto_create=True) assert returned_checkout == user_checkout request = checkout_request_factory(user=None, token=token) returned_checkout = utils.get_or_create_checkout_from_request( request, queryset) mock_get_for_anonymous.assert_called_once_with(token, queryset) assert returned_checkout == anonymous_checkout