Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }