Beispiel #1
0
        public void RegisterOrderCollectRequest()
        {
            var client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            var orderModel = MockOrdersRepository.GetSampleOrderModel();
            var order      = client.CreateOrderCollectRequest(orderModel);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
        }
Beispiel #2
0
        public async Task RegisterOrderCollectRequestAsync()
        {
            var client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            var source     = new CancellationTokenSource(new TimeSpan(0, 5, 0));
            var orderModel = MockOrdersRepository.GetSampleOrderModel();
            var order      = await client.CreateOrderCollectRequestAsync(orderModel, source.Token);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
        }
Beispiel #3
0
        public void GetTracking()
        {
            var client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            var orderModel = MockOrdersRepository.GetSampleOrderModel();
            var order      = client.CreateOrderCollectRequest(orderModel);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
            var tracking = client.GetTracking(orderModel.Items.First().TrackingId);

            Assert.IsNull(tracking.Error);
            Assert.AreEqual(orderModel.Items.First().TrackingId, tracking.TrackingCode);
            Assert.AreEqual("Indefinido", tracking.CarrierName);
            Assert.IsNull(tracking.CarrierCode);
            Assert.IsTrue(tracking.Events.Any());
            var firstEvent = tracking.Events.Single();

            Assert.IsNull(firstEvent.Name);
            Assert.AreEqual("Nenhuma atualização disponível ainda.", firstEvent.Description);
        }
Beispiel #4
0
        public async Task GetTrackingAsync()
        {
            var client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            var source     = new CancellationTokenSource(new TimeSpan(0, 5, 0));
            var orderModel = MockOrdersRepository.GetSampleOrderModel();
            var order      = await client.CreateOrderCollectRequestAsync(orderModel, source.Token);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
            var tracking = await client.GetTrackingAsync(orderModel.Items.First().TrackingId, source.Token);

            Assert.IsNull(tracking.Error);
            Assert.AreEqual(orderModel.Items.First().TrackingId, tracking.TrackingCode);
            Assert.AreEqual("Indefinido", tracking.CarrierName);
            Assert.IsNull(tracking.CarrierCode);
            Assert.IsTrue(tracking.Events.Any());
            var firstEvent = tracking.Events.Single();

            Assert.IsNull(firstEvent.Name);
            Assert.AreEqual("Nenhuma atualização disponível ainda.", firstEvent.Description);
        }
Beispiel #5
0
        public async Task GetRatesAsync()
        {
            var client = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");

            var ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1
                }
            };

            var source = new CancellationTokenSource(new TimeSpan(0, 5, 0));
            var rates  = await client.GetRatesAsync(ratesModel, source.Token);

            Assert.IsFalse(string.IsNullOrWhiteSpace(rates.PostalCode));
            //Assert.IsTrue(rates.ShippingServices.Any());
        }
Beispiel #6
0
        public void GetRates()
        {
            var client = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");

            var ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1
                }
            };

            var rates = client.GetRates(ratesModel);

            Assert.IsNull(rates.Error);
            Assert.IsFalse(string.IsNullOrWhiteSpace(rates.PostalCode));
            //Assert.IsTrue(rates.ShippingServices.Any());
        }
Beispiel #7
0
        public void FullFlowValidation()
        {
            var          client     = new MandaeClient("0b5e2c6410cf0ac087ae7ace111dbd42");
            const string customerId = "182AC0ECDE0CA08A8B729733EBE8197D";
            var          rnd        = new Random();
            var          ratesModel = new RatesModel
            {
                PostalCode    = "22041080",
                DeclaredValue = new decimal(215.15),
                Dimensions    = new Dimensions
                {
                    Height = 60,
                    Length = 60,
                    Width  = 40,
                    Weight = 1.3
                }
            };
            var orderModel = new OrderModel
            {
                CustomerId     = customerId,
                Vehicle        = Vehicle.CAR,
                Observation    = "Full flow validation test",
                Scheduling     = DateTime.Now,
                PartnerOrderId = "1234567890",
                Sender         = new Sender
                {
                    Address = new Address
                    {
                        Number       = "527",
                        PostalCode   = "03137020",
                        Neighborhood = "Vila Prudente",
                        City         = "São Paulo",
                        State        = "SP",
                        Street       = "Rua Itanháem",
                        Country      = "BR"
                    },
                    FullName = "Editora Inovação"
                },
                Items = new[]
                {
                    new Item
                    {
                        Id          = rnd.Next(10000, 99999),
                        Dimensions  = ratesModel.Dimensions,
                        Observation = "Teste",
                        Recipient   = new Recipient
                        {
                            Address = new Address
                            {
                                PostalCode   = "22041080",
                                Number       = "110",
                                Neighborhood = "Copacabana",
                                City         = "Rio de Janeiro",
                                State        = "RJ",
                                Street       = "Rua Anita Garibaild",
                                Country      = "BR"
                            },
                            FullName = "Vitrine do Artesanato",
                            Email    = "",
                            Phone    = "+551133822031",
                            Document = "05944298000101"
                        },
                        PartnerItemId = "12345",
                        Invoice       = new Invoice
                        {
                            Id  = "606620",
                            Key = "35170805944298000101550010006066201623434877"
                        },
                        Skus = new[]
                        {
                            new Sku
                            {
                                Description = "Caneta Acrilpen",
                                Ean         = "7891153044392",
                                Price       = new decimal(4.47),
                                Quantity    = 2,
                                SkuId       = "3583"
                            },
                            new Sku
                            {
                                Description = "Tecido algodão crú sem risco",
                                Ean         = string.Empty,
                                Price       = new decimal(15.43),
                                Quantity    = 2,
                                SkuId       = "7522"
                            }
                        }
                    }
                }
            };
            var order = client.CreateOrderCollectRequest(orderModel);

            Assert.IsNull(order.Error);
            Assert.IsTrue(order.Id > 0);
            Assert.IsTrue(order.Items.First().Id > 0);
        }