Files
suite/connector_amazon_sp/tests/api/orders.py
2022-02-04 13:25:45 -08:00

75 lines
5.0 KiB
Python

from contextlib import contextmanager
from sp_api.base.ApiResponse import ApiResponse
from unittest.mock import patch
get_order_response = {'payload': {'AmazonOrderId': '111-1111111-1111111',
'PurchaseDate': '2021-04-24T20:22:03Z',
'LastUpdateDate': '2021-04-26T17:25:41Z',
'OrderStatus': 'Shipped',
'FulfillmentChannel': 'MFN',
'SalesChannel': 'Amazon.com',
'ShipServiceLevel': 'Std US D2D Dom',
'OrderTotal': {'CurrencyCode': 'USD',
'Amount': '159.96'},
'NumberOfItemsShipped': 1,
'NumberOfItemsUnshipped': 0,
'PaymentMethod': 'Other',
'PaymentMethodDetails': ['Standard'],
'IsReplacementOrder': False,
'MarketplaceId': 'ATVPDKIKX0DER',
'ShipmentServiceLevelCategory': 'Standard',
'OrderType': 'StandardOrder',
'EarliestShipDate': '2021-04-26T07:00:00Z',
'LatestShipDate': '2021-04-27T06:59:59Z',
'EarliestDeliveryDate': '2021-04-30T07:00:00Z',
'LatestDeliveryDate': '2021-05-01T06:59:59Z',
'IsBusinessOrder': False,
'IsPrime': True,
'IsGlobalExpressEnabled': False,
'IsPremiumOrder': False,
'IsSoldByAB': False,
'DefaultShipFromLocationAddress': {'Name': 'null',
'AddressLine1': 'null',
'AddressLine2': 'null',
'City': 'SELLERSBURG',
'StateOrRegion': 'IN',
'PostalCode': '47172',
'CountryCode': 'US'},
'IsISPU': False}}
get_order_items_response = {'payload': {'AmazonOrderId': '111-1111111-1111111',
'OrderItems': [
{'ASIN': 'A1B1C1D1E1',
'OrderItemId': '12345678901234',
'SellerSKU': 'TEST_PRODUCT',
'Title': 'Test Product Purchased From Amazon',
'QuantityOrdered': 1, 'QuantityShipped': 1,
'ProductInfo': {'NumberOfItems': '1'},
'ItemPrice': {'CurrencyCode': 'USD', 'Amount': '199.95'},
'ItemTax': {'CurrencyCode': 'USD', 'Amount': '0.00'},
'PromotionDiscount': {'CurrencyCode': 'USD', 'Amount': '39.99'},
'PromotionDiscountTax': {'CurrencyCode': 'USD', 'Amount': '0.00'},
'PromotionIds': ['Coupon'],
'IsGift': 'false',
'ConditionId': 'New',
'ConditionSubtypeId': 'New',
'IsTransparency': False}]}}
get_order_address_response = {'payload': {'AmazonOrderId': '111-1111111-1111111',
'ShippingAddress': {'StateOrRegion': 'FL', 'PostalCode': '34655-5649',
'City': 'NEW PORT RICHEY', 'CountryCode': 'US',
'Name': ''}}}
get_order_buyer_info_response = {'payload': {'AmazonOrderId': '111-1111111-1111111',
'BuyerEmail': 'obfuscated@marketplace.amazon.com'}}
@contextmanager
def mock_orders_api():
with patch('odoo.addons.connector_amazon_sp.components.api.amazon.Orders') as mock_orders:
mock_orders.return_value.get_order.return_value = ApiResponse(**get_order_response)
mock_orders.return_value.get_order_items.return_value = ApiResponse(**get_order_items_response)
mock_orders.return_value.get_order_address.return_value = ApiResponse(**get_order_address_response)
mock_orders.return_value.get_order_buyer_info.return_value = ApiResponse(**get_order_buyer_info_response)
yield