public async Task it_returns_result() { var settings = new ShippingSettings(new Uri("http://test.localtest.me")); var sut = new ShippingClient(settings); var query = new EstimateQuery( new ShipmentLeg("0484", "5600"), PackageSize.InGrams(2500)); var actual = await sut.FindAsync <ShipmentEstimate>(query).ConfigureAwait(false); actual.Estimates.Should().NotBeEmpty(); }
public async Task it_returns_result() { var clientUri = new Uri("http://test.localtest.me"); var settings = new ShippingSettings(clientUri, "*****@*****.**", "20b22ed6-2aa7-48c9-9561-b49fe85ce118"); var sut = new ShippingClient(settings); var query = new EstimateQuery( new ShipmentLeg("0484", "5600", "NO", "NO"), PackageSize.InGrams(2500), new Products(Product.Servicepakke)); var actual = await sut.FindAsync <ShipmentEstimate>(query).ConfigureAwait(false); actual.Estimates.Should().NotBeEmpty(); }
public async Task it_returns_error_when_unauthenticated() { var clientUri = new Uri("http://test.localtest.me"); var settings = new ShippingSettings(clientUri, (string)null, null); var sut = new ShippingClient(settings); var query = new EstimateQuery( new ShipmentLeg("0484", "5600", "NO", "NO"), PackageSize.InGrams(2500)); var actual = await sut.FindAsync <ShipmentEstimate>(query).ConfigureAwait(false); var responseErrors = actual.Errors.OfType <ResponseError>(); Assert.Single(responseErrors); }
public async Task it_returns_error_when_no_product_in_estimate_query() { var clientUri = new Uri("http://test.localtest.me"); var settings = new ShippingSettings(clientUri, "*****@*****.**", "20b22ed6-2aa7-48c9-9561-b49fe85ce118"); var sut = new ShippingClient(settings); var query = new EstimateQuery( new ShipmentLeg("0484", "5600", "NO", "NO"), PackageSize.InGrams(2500)); var actual = await sut.FindAsync <ShipmentEstimate>(query).ConfigureAwait(false); var fieldErrors = actual.Errors.OfType <FieldError>() .Where(x => x.Code.Equals("INVALID_ARGUMENT")); Assert.Single(fieldErrors); }
private BringRatesSampleBlockView Search(BringRatesSampleBlockView formData) { var settings = new ShippingSettings(GetBaseUri()); var client = new ShippingClient(settings); var shipmentLeg = ParameterMapper.GetShipmentLeg(formData); var packageSize = ParameterMapper.GetPackageSize(formData); var additionalParameters = ParameterMapper.GetAdditionalParameters(formData); var query = new EstimateQuery(shipmentLeg, packageSize, additionalParameters); var result = client.FindAsync <ShipmentEstimate>(query).Result; var estimateGroups = result.Estimates .GroupBy(x => x.GuiInformation.MainDisplayCategory) .Select(x => new BringRatesSampleBlockView.EstimateGroup(x.Key, x)); var model = new BringRatesSampleBlockView(estimateGroups); return(model); }