Skip to content
This repository has been archived by the owner on Feb 6, 2024. It is now read-only.

Commit

Permalink
test: unit test for listRecommendations
Browse files Browse the repository at this point in the history
  • Loading branch information
justinemmanuelmercado committed Jul 8, 2020
1 parent ba2db1b commit e56474a
Show file tree
Hide file tree
Showing 2 changed files with 246 additions and 0 deletions.
222 changes: 222 additions & 0 deletions test/unit/__fixtures__/recommendations_list_recommendations.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
<?xml version="1.0" encoding="UTF-8"?>
<ListRecommendationsResponse xmlns="https://mws.amazonservices.com/Recommendations/2013-04-01">
<ListRecommendationsResult>
<InventoryRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<FulfillmentChannel>String</FulfillmentChannel>
<SalesForTheLast14Days>1</SalesForTheLast14Days>
<SalesForTheLast30Days>1</SalesForTheLast30Days>
<AvailableQuantity>1</AvailableQuantity>
<DaysUntilStockRunsOut>1</DaysUntilStockRunsOut>
<InboundQuantity>1</InboundQuantity>
<RecommendedInboundQuantity>1</RecommendedInboundQuantity>
<DaysOutOfStockLast30Days>1</DaysOutOfStockLast30Days>
<LostSalesInLast30Days>1</LostSalesInLast30Days>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</InventoryRecommendations>
<SelectionRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<BrandName>String</BrandName>
<ProductCategory>String</ProductCategory>
<SalesRank>1</SalesRank>
<BuyboxPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</BuyboxPrice>
<NumberOfOffers>1</NumberOfOffers>
<AverageCustomerReview>100</AverageCustomerReview>
<NumberOfCustomerReviews>1</NumberOfCustomerReviews>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</SelectionRecommendations>
<PricingRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<Condition>String</Condition>
<SubCondition>String</SubCondition>
<FulfillmentChannel>String</FulfillmentChannel>
<YourPricePlusShipping>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</YourPricePlusShipping>
<LowestPricePlusShipping>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</LowestPricePlusShipping>
<PriceDifferenceToLowPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</PriceDifferenceToLowPrice>
<MedianPricePlusShipping>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</MedianPricePlusShipping>
<LowestMerchantFulfilledOfferPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</LowestMerchantFulfilledOfferPrice>
<LowestAmazonFulfilledOfferPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</LowestAmazonFulfilledOfferPrice>
<NumberOfOffers>1</NumberOfOffers>
<NumberOfMerchantFulfilledOffers>1</NumberOfMerchantFulfilledOffers>
<NumberOfAmazonFulfilledOffers>1</NumberOfAmazonFulfilledOffers>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</PricingRecommendations>
<FulfillmentRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<BrandName>String</BrandName>
<ProductCategory>String</ProductCategory>
<SalesRank>1</SalesRank>
<BuyboxPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</BuyboxPrice>
<NumberOfOffers>1</NumberOfOffers>
<NumberOfOffersFulfilledByAmazon>1</NumberOfOffersFulfilledByAmazon>
<AverageCustomerReview>100</AverageCustomerReview>
<NumberOfCustomerReviews>1</NumberOfCustomerReviews>
<ItemDimensions>
<Height>
<Value>100</Value>
<Unit>String</Unit>
</Height>
<Width>
<Value>100</Value>
<Unit>String</Unit>
</Width>
<Length>
<Value>100</Value>
<Unit>String</Unit>
</Length>
<Weight>
<Value>100</Value>
<Unit>String</Unit>
</Weight>
</ItemDimensions>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</FulfillmentRecommendations>
<ListingQualityRecommendations>
<member>
<QualitySet>String</QualitySet>
<DefectGroup>String</DefectGroup>
<DefectAttribute>String</DefectAttribute>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</ListingQualityRecommendations>
<GlobalSellingRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<BrandName>String</BrandName>
<ProductCategory>String</ProductCategory>
<SalesRank>1</SalesRank>
<BuyboxPrice>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</BuyboxPrice>
<NumberOfOffers>1</NumberOfOffers>
<NumberOfOffersFulfilledByAmazon>1</NumberOfOffersFulfilledByAmazon>
<AverageCustomerReview>100</AverageCustomerReview>
<NumberOfCustomerReviews>1</NumberOfCustomerReviews>
<ItemDimensions>
<Height>
<Value>100</Value>
<Unit>String</Unit>
</Height>
<Width>
<Value>100</Value>
<Unit>String</Unit>
</Width>
<Length>
<Value>100</Value>
<Unit>String</Unit>
</Length>
<Weight>
<Value>100</Value>
<Unit>String</Unit>
</Weight>
</ItemDimensions>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</GlobalSellingRecommendations>
<AdvertisingRecommendations>
<member>
<LastUpdated>1969-07-21T02:56:03Z</LastUpdated>
<ItemIdentifier>
<Asin>String</Asin>
<Sku>String</Sku>
<Upc>String</Upc>
</ItemIdentifier>
<ItemName>String</ItemName>
<BrandName>String</BrandName>
<ProductCategory>String</ProductCategory>
<SalesRank>1</SalesRank>
<YourPricePlusShipping>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</YourPricePlusShipping>
<LowestPricePlusShipping>
<CurrencyCode>String</CurrencyCode>
<Amount>100</Amount>
</LowestPricePlusShipping>
<AvailableQuantity>1</AvailableQuantity>
<SalesForTheLast30Days>1</SalesForTheLast30Days>
<RecommendationId>String</RecommendationId>
<RecommendationReason>String</RecommendationReason>
</member>
</AdvertisingRecommendations>
<NextToken>String</NextToken>
</ListRecommendationsResult>
<ResponseMetadata>
<RequestId>String</RequestId>
</ResponseMetadata>
</ListRecommendationsResponse>
24 changes: 24 additions & 0 deletions test/unit/recommendations.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,30 @@ import { ParsingError } from '../../src'
import { createMockHttpClient, mockMwsFail, mockMwsServiceStatus, parsingError } from '../utils'

describe('recommendations', () => {
describe('listRecommendations', () => {
const parameters = {
MarketplaceId: '',
}

it('returns a list of recommendations if succesful', async () => {
expect.assertions(1)

const mockListRecommendations = createMockHttpClient('recommendations_list_recommendations')

expect(
await mockListRecommendations.recommendations.listRecommendations(parameters),
).toMatchSnapshot()
})

it('throws a parsing error when the status response isnt valid', async () => {
expect.assertions(1)

await expect(() =>
mockMwsFail.recommendations.listRecommendations(parameters),
).rejects.toStrictEqual(new ParsingError(parsingError))
})
})

describe('getLastUpdatedTimeForRecommendations', () => {
const parameters = {
MarketplaceId: '',
Expand Down

0 comments on commit e56474a

Please sign in to comment.