Example #1
0
        public void TestMultiOrderRequest()
        {
            Moip.Models.MultiorderRequest multiorderRequest = Helpers.RequestsCreator.CreateMultiorderRequest();

            string multiorderRequestJson = Moip.Utilities.APIHelper.JsonSerialize(multiorderRequest);

            string expectedMultiorderRequestJson = Helpers.FileReader.readJsonFile(@"Multiorder\multiorder.json");

            Assert.AreEqual(expectedMultiorderRequestJson, multiorderRequestJson,
                            "Order request body should match exactly (string literal match)");
        }
Example #2
0
        public void TestGetMultiOrder()
        {
            Moip.Models.MultiorderRequest multiorderRequest = Helpers.RequestsCreator.CreateMultiorderRequest();

            string multiorderId = controller.CreateMultiorder(multiorderRequest).Id;

            Moip.Models.MultiorderResponse multiorderResponse = controller.GetMultiorder(multiorderId);

            Assert.NotNull(multiorderResponse.Orders[0].Id, "Id should not be null");
            Assert.AreEqual("my_own_id", multiorderResponse.Orders[0].OwnId, "Should match exactly (string literal match)");
            Assert.AreEqual("Bicicleta Specialized Tarmac 26 Shimano Alivio", multiorderResponse.Orders[0].Items[0].Product, "Should match exactly (string literal match)");
            Assert.AreEqual(1, multiorderResponse.Orders[0].Items[0].Quantity, "Should match exactly (string literal match)");
            Assert.AreEqual("uma linda bicicleta", multiorderResponse.Orders[0].Items[0].Detail, "Should match exactly (string literal match)");
            Assert.AreEqual(2000, multiorderResponse.Orders[0].Items[0].Price, "Should match exactly (string literal match)");
            Assert.AreEqual("BRL", multiorderResponse.Orders[0].Amount.Currency, "Should match exactly (string literal match)");
            Assert.AreEqual("Fulano de Tal", multiorderResponse.Orders[0].Customer.Fullname, "Should match exactly (string literal match)");
            Assert.AreEqual("OFulanoDeTal", multiorderResponse.Orders[0].Customer.OwnId, "Should match exactly (string literal match)");
            Assert.AreEqual("1990-01-01", multiorderResponse.Orders[0].Customer.BirthDate, "Should match exactly (string literal match)");
            Assert.AreEqual("*****@*****.**", multiorderResponse.Orders[0].Customer.Email, "Should match exactly (string literal match)");
            Assert.AreEqual("Rua test", multiorderResponse.Orders[0].ShippingAddress.Street, "Should match exactly (string literal match)");
            Assert.AreEqual("123", multiorderResponse.Orders[0].ShippingAddress.StreetNumber, "Should match exactly (string literal match)");
            Assert.AreEqual("Ap test", multiorderResponse.Orders[0].ShippingAddress.Complement, "Should match exactly (string literal match)");
            Assert.AreEqual("Bairro test", multiorderResponse.Orders[0].ShippingAddress.District, "Should match exactly (string literal match)");
            Assert.AreEqual("TestCity", multiorderResponse.Orders[0].ShippingAddress.City, "Should match exactly (string literal match)");
            Assert.AreEqual("SP", multiorderResponse.Orders[0].ShippingAddress.State, "Should match exactly (string literal match)");
            Assert.AreEqual("BRA", multiorderResponse.Orders[0].ShippingAddress.Country, "Should match exactly (string literal match)");
            Assert.AreEqual("01234000", multiorderResponse.Orders[0].ShippingAddress.ZipCode, "Should match exactly (string literal match)");
            Assert.AreEqual("55", multiorderResponse.Orders[0].Customer.Phone.CountryCode, "Should match exactly (string literal match)");
            Assert.AreEqual("11", multiorderResponse.Orders[0].Customer.Phone.AreaCode, "Should match exactly (string literal match)");
            Assert.AreEqual("66778899", multiorderResponse.Orders[0].Customer.Phone.Number, "Should match exactly (string literal match)");
            Assert.AreEqual("CPF", multiorderResponse.Orders[0].Customer.TaxDocument.Type, "Should match exactly (string literal match)");
            Assert.AreEqual("22222222222", multiorderResponse.Orders[0].Customer.TaxDocument.Number, "Should match exactly (string literal match)");
            Assert.AreEqual(1500, multiorderResponse.Orders[0].Amount.Subtotals.Shipping, "Should match exactly (string literal match)");
            Assert.AreEqual(20, multiorderResponse.Orders[0].Amount.Subtotals.Addition, "Should match exactly (string literal match)");
            Assert.AreEqual(10, multiorderResponse.Orders[0].Amount.Subtotals.Discount, "Should match exactly (string literal match)");

            Assert.NotNull(multiorderResponse.Orders[1].Id, "Id should not be null");
            Assert.AreEqual("my_own_id2", multiorderResponse.Orders[1].OwnId, "Should match exactly (string literal match)");
            Assert.AreEqual("Bicicleta Specialized Tarmac 26 Shimano Alivio", multiorderResponse.Orders[1].Items[0].Product, "Should match exactly (string literal match)");
            Assert.AreEqual(1, multiorderResponse.Orders[1].Items[0].Quantity, "Should match exactly (string literal match)");
            Assert.AreEqual("uma linda bicicleta", multiorderResponse.Orders[1].Items[0].Detail, "Should match exactly (string literal match)");
            Assert.AreEqual(2000, multiorderResponse.Orders[1].Items[0].Price, "Should match exactly (string literal match)");
            Assert.AreEqual("BRL", multiorderResponse.Orders[1].Amount.Currency, "Should match exactly (string literal match)");
            Assert.AreEqual("Outro Nome Teste", multiorderResponse.Orders[1].Customer.Fullname, "Should match exactly (string literal match)");
            Assert.AreEqual("OFulanoDeTal", multiorderResponse.Orders[1].Customer.OwnId, "Should match exactly (string literal match)");
            Assert.AreEqual("1990-01-01", multiorderResponse.Orders[1].Customer.BirthDate, "Should match exactly (string literal match)");
            Assert.AreEqual("*****@*****.**", multiorderResponse.Orders[1].Customer.Email, "Should match exactly (string literal match)");
            Assert.AreEqual("Rua test", multiorderResponse.Orders[1].ShippingAddress.Street, "Should match exactly (string literal match)");
            Assert.AreEqual("123", multiorderResponse.Orders[1].ShippingAddress.StreetNumber, "Should match exactly (string literal match)");
            Assert.AreEqual("Ap test", multiorderResponse.Orders[1].ShippingAddress.Complement, "Should match exactly (string literal match)");
            Assert.AreEqual("Bairro test", multiorderResponse.Orders[1].ShippingAddress.District, "Should match exactly (string literal match)");
            Assert.AreEqual("TestCity", multiorderResponse.Orders[1].ShippingAddress.City, "Should match exactly (string literal match)");
            Assert.AreEqual("SP", multiorderResponse.Orders[1].ShippingAddress.State, "Should match exactly (string literal match)");
            Assert.AreEqual("BRA", multiorderResponse.Orders[1].ShippingAddress.Country, "Should match exactly (string literal match)");
            Assert.AreEqual("01234000", multiorderResponse.Orders[1].ShippingAddress.ZipCode, "Should match exactly (string literal match)");
            Assert.AreEqual("55", multiorderResponse.Orders[1].Customer.Phone.CountryCode, "Should match exactly (string literal match)");
            Assert.AreEqual("11", multiorderResponse.Orders[1].Customer.Phone.AreaCode, "Should match exactly (string literal match)");
            Assert.AreEqual("66778899", multiorderResponse.Orders[1].Customer.Phone.Number, "Should match exactly (string literal match)");
            Assert.AreEqual("CPF", multiorderResponse.Orders[1].Customer.TaxDocument.Type, "Should match exactly (string literal match)");
            Assert.AreEqual("22222222222", multiorderResponse.Orders[1].Customer.TaxDocument.Number, "Should match exactly (string literal match)");
            Assert.AreEqual(1500, multiorderResponse.Orders[1].Amount.Subtotals.Shipping, "Should match exactly (string literal match)");
            Assert.AreEqual(20, multiorderResponse.Orders[1].Amount.Subtotals.Addition, "Should match exactly (string literal match)");
            Assert.AreEqual(10, multiorderResponse.Orders[1].Amount.Subtotals.Discount, "Should match exactly (string literal match)");
        }
        public static Moip.Models.MultiorderRequest CreateMultiorderRequest()
        {
            Moip.Models.TaxDocument taxDocument = new Moip.Models.TaxDocument
            {
                Type   = "CPF",
                Number = "22222222222"
            };

            Moip.Models.Phone phone = new Moip.Models.Phone
            {
                CountryCode = "55",
                AreaCode    = "11",
                Number      = "66778899"
            };

            Moip.Models.ShippingAddress shippingAddress = new Moip.Models.ShippingAddress
            {
                Street       = "Rua test",
                StreetNumber = "123",
                Complement   = "Ap test",
                District     = "Bairro test",
                City         = "TestCity",
                State        = "SP",
                Country      = "BRA",
                ZipCode      = "01234000"
            };

            Moip.Models.CustomerRequest customerRequest = new Moip.Models.CustomerRequest
            {
                Fullname        = "Fulano de Tal",
                OwnId           = "OFulanoDeTal",
                BirthDate       = "1990-01-01",
                Email           = "*****@*****.**",
                Phone           = phone,
                ShippingAddress = shippingAddress,
                TaxDocument     = taxDocument
            };


            Moip.Models.SubtotalsRequest subtotalsRequest = new Moip.Models.SubtotalsRequest
            {
                Shipping = 1500,
                Addition = 20,
                Discount = 10
            };

            Moip.Models.AmountOrderRequest amountRequest = new Moip.Models.AmountOrderRequest
            {
                Currency  = "BRL",
                Subtotals = subtotalsRequest
            };

            Moip.Models.Item itemsRequest = new Moip.Models.Item
            {
                Product  = "Bicicleta Specialized Tarmac 26 Shimano Alivio",
                Quantity = 1,
                Detail   = "uma linda bicicleta",
                Price    = 2000
            };

            List <Moip.Models.Item> itemsRequestList = new List <Moip.Models.Item>
            {
                itemsRequest
            };

            Moip.Models.MoipAccountReceiverRequest moipAccountReceiver1 = new Moip.Models.MoipAccountReceiverRequest
            {
                Id = "MPA-14AC21F09CAE"
            };

            Moip.Models.AmountReceiverRequest amountReceiver1 = new Moip.Models.AmountReceiverRequest
            {
                Percentual = 50
            };

            Moip.Models.ReceiverRequest receiver1 = new Moip.Models.ReceiverRequest
            {
                MoipAccount = moipAccountReceiver1,
                Type        = "PRIMARY",
                Amount      = amountReceiver1
            };

            Moip.Models.MoipAccountReceiverRequest moipAccountReceiver2 = new Moip.Models.MoipAccountReceiverRequest
            {
                Id = "MPA-B0D880F21EF1"
            };

            Moip.Models.AmountReceiverRequest amountReceiver2 = new Moip.Models.AmountReceiverRequest
            {
                Percentual = 50
            };

            Moip.Models.ReceiverRequest receiver2 = new Moip.Models.ReceiverRequest
            {
                MoipAccount = moipAccountReceiver2,
                Type        = "SECONDARY",
                Amount      = amountReceiver2,
                FeePayor    = true
            };

            List <Moip.Models.ReceiverRequest> receiverList = new List <Moip.Models.ReceiverRequest>
            {
                receiver1,
                receiver2
            };

            Moip.Models.OrderRequest orderRequest1 = new Moip.Models.OrderRequest
            {
                OwnId     = "my_own_id",
                Amount    = amountRequest,
                Items     = itemsRequestList,
                Customer  = customerRequest,
                Receivers = receiverList
            };

            Moip.Models.CustomerRequest customerRequest2 = new Moip.Models.CustomerRequest
            {
                Fullname        = "Outro Nome Teste",
                OwnId           = "OFulanoDeTal",
                BirthDate       = "1990-01-01",
                Email           = "*****@*****.**",
                Phone           = phone,
                ShippingAddress = shippingAddress,
                TaxDocument     = taxDocument
            };

            Moip.Models.OrderRequest orderRequest2 = new Moip.Models.OrderRequest
            {
                OwnId     = "my_own_id2",
                Amount    = amountRequest,
                Items     = itemsRequestList,
                Customer  = customerRequest2,
                Receivers = receiverList
            };

            List <Moip.Models.OrderRequest> orderList = new List <Moip.Models.OrderRequest>();

            orderList.Add(orderRequest1);
            orderList.Add(orderRequest2);

            Moip.Models.MultiorderRequest multiOrderRequest = new Moip.Models.MultiorderRequest
            {
                OwnId  = "my_own_multi_order_id",
                Orders = orderList
            };


            return(multiOrderRequest);
        }