private static void ValidateMarketplaceCompatibility(string reportType, IEnumerable <string> requestedMarketplacesIds = null) { if (requestedMarketplacesIds == null) { return; } var permittedMarketplacesIds = ReportsPermittedMarketplacesMapper.GetMarketplaces(reportType)?.Select(m => m.Id) ?? MwsMarketplaceGroup.AmazonGlobal().Select(m => m.Id); foreach (var requestedMarketplace in requestedMarketplacesIds) { if (!permittedMarketplacesIds.Contains(requestedMarketplace)) { throw new ArgumentException( $@"The report request for type:'{reportType}', is only available to the following marketplaces:'{ MwsMarketplace.GetMarketplaceCountryCodesAsCommaSeparatedString(permittedMarketplacesIds) }'. The requested marketplace:'{ MwsMarketplace.GetMarketplaceCountryCode(requestedMarketplace) }' is not supported by Amazon MWS for the specified report type" ); } } }
public void GetMarketplaceCountryCode_ForAustraliaMarketplaceId_ReturnsAustralia() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Australia.Id); Assert.AreEqual(MwsMarketplace.Australia.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForJapanMarketplaceId_ReturnsJapan() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Japan.Id); Assert.AreEqual(MwsMarketplace.Japan.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForChinaMarketplaceId_ReturnsChina() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.China.Id); Assert.AreEqual(MwsMarketplace.China.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForBrazilMarketplaceId_ReturnsBrazil() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Brazil.Id); Assert.AreEqual(MwsMarketplace.Brazil.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForItalyMarketplaceId_ReturnsItaly() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Italy.Id); Assert.AreEqual(MwsMarketplace.Italy.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForFranceMarketplaceId_ReturnsFrance() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.France.Id); Assert.AreEqual(MwsMarketplace.France.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForUKMarketplaceId_ReturnsUK() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.UK.Id); Assert.AreEqual(MwsMarketplace.UK.CountryCode, countryCode); }
public void GetMarketplaceCountryCode_ForMexicoMarketplaceId_ReturnsMexico() { var countryCode = MwsMarketplace.GetMarketplaceCountryCode(MwsMarketplace.Mexico.Id); Assert.AreEqual(MwsMarketplace.Mexico.CountryCode, countryCode); }
private ReportOptions PopulateReportOptionsWithCustomValue(ReportOptions reportOptions, bool custom = false, IEnumerable <MwsMarketplace> requestedMarketplaces = null) { if (custom && requestedMarketplaces != null) { var acceptedMarketplaceIdsForCustomOption = new List <string> { MwsMarketplace.Canada.Id, MwsMarketplace.US.Id, MwsMarketplace.UK.Id, MwsMarketplace.India.Id }; var nonAcceptedMarketplaceIds = requestedMarketplaces.Select(m => m.Id).Except(acceptedMarketplaceIdsForCustomOption).ToList(); if (nonAcceptedMarketplaceIds.Any()) { throw new ArgumentException( $"The 'Custom' option is not available for the following marketplace(s) : {MwsMarketplace.GetMarketplaceCountryCodesAsCommaSeparatedString(nonAcceptedMarketplaceIds)}"); } } if (reportOptions == null) { reportOptions = new ReportOptions(); } reportOptions.AddBooleanOption("custom", custom); return(reportOptions); }