상속: recurringTransactionType
        public void TestUpdateSubscription_Full()
        {
            updateSubscription update = new updateSubscription();

            update.billingDate = new DateTime(2002, 10, 9);
            contact billToAddress = new contact();

            billToAddress.name   = "Greg Dake";
            billToAddress.city   = "Lowell";
            billToAddress.state  = "MA";
            billToAddress.email  = "*****@*****.**";
            update.billToAddress = billToAddress;
            cardType card = new cardType();

            card.number           = "4100000000000001";
            card.expDate          = "1215";
            card.type             = methodOfPaymentTypeEnum.VI;
            update.card           = card;
            update.planCode       = "abcdefg";
            update.subscriptionId = 12345;

            String actual   = update.Serialize();
            String expected = "\r\n<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>\r\n<city>Lowell</city>\r\n<state>MA</state>\r\n<email>[email protected]</email>\r\n</billToAddress>\r\n<card>\r\n<type>VI</type>\r\n<number>4100000000000001</number>\r\n<expDate>1215</expDate>\r\n</card>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
        public void testUpdateSubscription_CanContainDeleteAddOns()
        {
            deleteAddOn dao1 = new deleteAddOn();

            dao1.addOnCode = "1";

            deleteAddOn dao2 = new deleteAddOn();

            dao2.addOnCode = "2";

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.deleteAddOns.Add(dao1);
            update.deleteAddOns.Add(dao2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<deleteAddOn>
<addOnCode>1</addOnCode>
</deleteAddOn>
<deleteAddOn>
<addOnCode>2</addOnCode>
</deleteAddOn>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
예제 #3
0
        public void TestUpdateSubscription_Basic()
        {
            var update = new updateSubscription
            {
                billingDate   = new DateTime(2002, 10, 9),
                billToAddress = new contact
                {
                    name  = "Greg Dake",
                    city  = "Lowell",
                    state = "MA",
                    email = "*****@*****.**"
                },
                card = new cardType
                {
                    number  = "4100000000000001",
                    expDate = "1215",
                    type    = methodOfPaymentTypeEnum.VI
                },
                planCode       = "abcdefg",
                subscriptionId = 12345
            };

            var response = _cnp.UpdateSubscription(update);

            Assert.AreEqual("Approved", response.message);
        }
예제 #4
0
        public void testUpdateSubscription_CanContainDeleteAddOns()
        {
            var dao1 = new deleteAddOn();

            dao1.addOnCode = "1";

            var dao2 = new deleteAddOn();

            dao2.addOnCode = "2";

            var update = new updateSubscription();

            update.subscriptionId = 1;
            update.deleteAddOns.Add(dao1);
            update.deleteAddOns.Add(dao2);

            var actual   = update.Serialize();
            var expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<deleteAddOn>
<addOnCode>1</addOnCode>
</deleteAddOn>
<deleteAddOn>
<addOnCode>2</addOnCode>
</deleteAddOn>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
예제 #5
0
        public void TestUpdateSubscription_WithToken()
        {
            var update = new updateSubscription
            {
                billingDate   = new DateTime(2002, 10, 9),
                billToAddress = new contact
                {
                    name  = "Greg Dake",
                    city  = "Lowell",
                    state = "MA",
                    email = "*****@*****.**"
                },
                token = new cardTokenType
                {
                    cnpToken          = "987654321098765432",
                    expDate           = "0750",
                    cardValidationNum = "798",
                    type           = methodOfPaymentTypeEnum.VI,
                    checkoutIdType = "012345678901234567"
                },
                planCode       = "abcdefg",
                subscriptionId = 12345
            };

            var response = _cnp.UpdateSubscription(update);

            Assert.AreEqual("Approved", response.message);
        }
        public void TestSimple()
        {
            updateSubscription update = new updateSubscription();
            update.billingDate = new DateTime(2002, 10, 9);
            contact billToAddress = new contact();
            billToAddress.name = "Greg Dake";
            billToAddress.city = "Lowell";
            billToAddress.state = "MA";
            billToAddress.email = "*****@*****.**";
            update.billToAddress = billToAddress;
            cardType card = new cardType();
            card.number = "4100000000000001";
            card.expDate = "1215";
            card.type = methodOfPaymentTypeEnum.VI;
            update.card = card;
            update.planCode = "abcdefg";
            update.subscriptionId = 12345;

            var mock = new Mock<Communications>();

            mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<litleOnlineRequest.*?<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>.*?</billToAddress>\r\n<card>\r\n<type>VI</type>.*?</card>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>\r\n</litleOnlineRequest>.*?.*", RegexOptions.Singleline), It.IsAny<Dictionary<String, String>>()))
                .Returns("<litleOnlineResponse version='8.20' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><updateSubscriptionResponse ><litleTxnId>456</litleTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04</responseTime><subscriptionId>12345</subscriptionId></updateSubscriptionResponse></litleOnlineResponse>");

            Communications mockedCommunication = mock.Object;
            litle.setCommunication(mockedCommunication);
            updateSubscriptionResponse response = litle.UpdateSubscription(update);
            Assert.AreEqual("12345", response.subscriptionId);
            Assert.AreEqual("456", response.litleTxnId);
            Assert.AreEqual("000", response.response);
            Assert.NotNull(response.responseTime);
        }
예제 #7
0
        public void testUpdateSubscription_CanContainDeleteDiscounts()
        {
            var dd1 = new deleteDiscount();

            dd1.discountCode = "1";

            var dd2 = new deleteDiscount();

            dd2.discountCode = "2";

            var update = new updateSubscription();

            update.subscriptionId = 1;
            update.deleteDiscounts.Add(dd1);
            update.deleteDiscounts.Add(dd2);

            var actual   = update.Serialize();
            var expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<deleteDiscount>
<discountCode>1</discountCode>
</deleteDiscount>
<deleteDiscount>
<discountCode>2</discountCode>
</deleteDiscount>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
예제 #8
0
        public void TestUpdateSubscription()
        {
            var update = new updateSubscription();

            update.billingDate = new DateTime(2002, 10, 9);
            var billToAddress = new contact();

            billToAddress.name   = "Greg Dake";
            billToAddress.city   = "Lowell";
            billToAddress.state  = "MA";
            billToAddress.email  = "*****@*****.**";
            update.billToAddress = billToAddress;
            var card = new cardType();

            card.number           = "4100000000000001";
            card.expDate          = "1215";
            card.type             = methodOfPaymentTypeEnum.VI;
            update.card           = card;
            update.planCode       = "abcdefg";
            update.subscriptionId = 12345;

            batchRequest.addUpdateSubscription(update);

            Assert.AreEqual(1, batchRequest.getNumUpdateSubscriptions());

            mockCnpFile.Verify(cnpFile => cnpFile.createRandomFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), mockCnpTime.Object));
            mockCnpFile.Verify(cnpFile => cnpFile.AppendLineToFile(mockFilePath, update.Serialize()));
        }
        public void testUpdateSubscription_CanContainDeleteDiscounts()
        {
            deleteDiscount dd1 = new deleteDiscount();

            dd1.discountCode = "1";

            deleteDiscount dd2 = new deleteDiscount();

            dd2.discountCode = "2";

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.deleteDiscounts.Add(dd1);
            update.deleteDiscounts.Add(dd2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<deleteDiscount>
<discountCode>1</discountCode>
</deleteDiscount>
<deleteDiscount>
<discountCode>2</discountCode>
</deleteDiscount>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
        public void testUpdateSubscription_OnlyRequired()
        {
            updateSubscription update = new updateSubscription();

            update.subscriptionId = 12345;

            String actual   = update.Serialize();
            String expected = "\r\n<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
예제 #11
0
        public void testUpdateSubscription_OnlyRequired()
        {
            updateSubscription update = new updateSubscription();

            update.subscriptionId = 12345;

            String actual   = update.Serialize();
            String expected = "\r\n<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
예제 #12
0
        public updateSubscriptionResponse UpdateSubscription(updateSubscription updateSubscription)
        {
            litleOnlineRequest request = createLitleOnlineRequest();

            request.updateSubscription = updateSubscription;

            litleOnlineResponse        response       = sendToLitle(request);
            updateSubscriptionResponse updateResponse = (updateSubscriptionResponse)response.updateSubscriptionResponse;

            return(updateResponse);
        }
예제 #13
0
        public updateSubscriptionResponse UpdateSubscription(updateSubscription updateSubscription)
        {
            var request = createLitleOnlineRequest();

            request.updateSubscription = updateSubscription;

            var response       = sendToLitle(request);
            var updateResponse = response.updateSubscriptionResponse;

            return(updateResponse);
        }
예제 #14
0
 public void addUpdateSubscription(updateSubscription updateSubscription)
 {
     if (numAccountUpdates == 0)
     {
         numUpdateSubscriptions++;
         tempBatchFilePath = saveElement(litleFile, litleTime, tempBatchFilePath, updateSubscription);
     }
     else
     {
         throw new LitleOnlineException(accountUpdateErrorMessage);
     }
 }
예제 #15
0
        public void testUpdateSubscription_CanContainCreateAddOns()
        {
            createAddOn cao1 = new createAddOn();

            cao1.addOnCode = "1";
            cao1.name      = "addOn1";
            cao1.amount    = 100;
            cao1.startDate = new DateTime(2013, 9, 5);
            cao1.endDate   = new DateTime(2013, 9, 6);

            createAddOn cao2 = new createAddOn();

            cao2.addOnCode = "2";
            cao2.name      = "addOn2";
            cao2.amount    = 200;
            cao2.startDate = new DateTime(2013, 9, 4);
            cao2.endDate   = new DateTime(2013, 9, 5);

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.createAddOns.Add(cao1);
            update.createAddOns.Add(cao2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<createAddOn>
<addOnCode>1</addOnCode>
<name>addOn1</name>
<amount>100</amount>
<startDate>2013-09-05</startDate>
<endDate>2013-09-06</endDate>
</createAddOn>
<createAddOn>
<addOnCode>2</addOnCode>
<name>addOn2</name>
<amount>200</amount>
<startDate>2013-09-04</startDate>
<endDate>2013-09-05</endDate>
</createAddOn>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
예제 #16
0
        public void testUpdateSubscription_CanContainCreateDiscounts()
        {
            createDiscount cd1 = new createDiscount();

            cd1.discountCode = "1";
            cd1.name         = "cheaper";
            cd1.amount       = 200;
            cd1.startDate    = new DateTime(2013, 9, 5);
            cd1.endDate      = new DateTime(2013, 9, 6);

            createDiscount cd2 = new createDiscount();

            cd2.discountCode = "2";
            cd2.name         = "cheap";
            cd2.amount       = 100;
            cd2.startDate    = new DateTime(2013, 9, 3);
            cd2.endDate      = new DateTime(2013, 9, 4);

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.createDiscounts.Add(cd1);
            update.createDiscounts.Add(cd2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<createDiscount>
<discountCode>1</discountCode>
<name>cheaper</name>
<amount>200</amount>
<startDate>2013-09-05</startDate>
<endDate>2013-09-06</endDate>
</createDiscount>
<createDiscount>
<discountCode>2</discountCode>
<name>cheap</name>
<amount>100</amount>
<startDate>2013-09-03</startDate>
<endDate>2013-09-04</endDate>
</createDiscount>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainUpdateDiscounts()
        {
            updateDiscount ud1 = new updateDiscount();

            ud1.discountCode = "1";
            ud1.name         = "cheaper";
            ud1.amount       = 200;
            ud1.startDate    = new DateTime(2013, 9, 5);
            ud1.endDate      = new DateTime(2013, 9, 6);

            updateDiscount ud2 = new updateDiscount();

            ud2.discountCode = "2";
            ud2.name         = "cheap";
            ud2.amount       = 100;
            ud2.startDate    = new DateTime(2013, 9, 3);
            ud2.endDate      = new DateTime(2013, 9, 4);

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.updateDiscounts.Add(ud1);
            update.updateDiscounts.Add(ud2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<updateDiscount>
<discountCode>1</discountCode>
<name>cheaper</name>
<amount>200</amount>
<startDate>2013-09-05</startDate>
<endDate>2013-09-06</endDate>
</updateDiscount>
<updateDiscount>
<discountCode>2</discountCode>
<name>cheap</name>
<amount>100</amount>
<startDate>2013-09-03</startDate>
<endDate>2013-09-04</endDate>
</updateDiscount>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
        public void testUpdateSubscription_CanContainUpdateAddOns()
        {
            updateAddOn uao1 = new updateAddOn();

            uao1.addOnCode = "1";
            uao1.name      = "addOn1";
            uao1.amount    = 100;
            uao1.startDate = new DateTime(2013, 9, 5);
            uao1.endDate   = new DateTime(2013, 9, 6);

            updateAddOn uao2 = new updateAddOn();

            uao2.addOnCode = "2";
            uao2.name      = "addOn2";
            uao2.amount    = 200;
            uao2.startDate = new DateTime(2013, 9, 4);
            uao2.endDate   = new DateTime(2013, 9, 5);

            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.updateAddOns.Add(uao1);
            update.updateAddOns.Add(uao2);

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<updateAddOn>
<addOnCode>1</addOnCode>
<name>addOn1</name>
<amount>100</amount>
<startDate>2013-09-05</startDate>
<endDate>2013-09-06</endDate>
</updateAddOn>
<updateAddOn>
<addOnCode>2</addOnCode>
<name>addOn2</name>
<amount>200</amount>
<startDate>2013-09-04</startDate>
<endDate>2013-09-05</endDate>
</updateAddOn>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
예제 #19
0
        public void testUpdateSubscription_CanContainToken()
        {
            var update = new updateSubscription();

            update.subscriptionId   = 1;
            update.token            = new cardTokenType();
            update.token.litleToken = "123456";

            var actual   = update.Serialize();
            var expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<token>
<litleToken>123456</litleToken>
</token>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainPaypage()
        {
            updateSubscription update = new updateSubscription();

            update.subscriptionId = 1;
            update.paypage        = new cardPaypageType();
            update.paypage.paypageRegistrationId = "abc123";

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<paypage>
<paypageRegistrationId>abc123</paypageRegistrationId>
</paypage>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
        public void testUpdateSubscription_CanContainToken()
        {
            updateSubscription update = new updateSubscription();

            update.subscriptionId   = 1;
            update.token            = new cardTokenType();
            update.token.litleToken = "123456";

            String actual   = update.Serialize();
            String expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<token>
<litleToken>123456</litleToken>
</token>
</updateSubscription>";

            Assert.AreEqual(Regex.Replace(expected, @"\s+", String.Empty), Regex.Replace(actual, @"\s+", String.Empty));
        }
예제 #22
0
        public void testUpdateSubscription_CanContainPaypage()
        {
            var update = new updateSubscription();

            update.subscriptionId = 1;
            update.paypage        = new cardPaypageType();
            update.paypage.paypageRegistrationId = "abc123";

            var actual   = update.Serialize();
            var expected = @"
<updateSubscription>
<subscriptionId>1</subscriptionId>
<paypage>
<paypageRegistrationId>abc123</paypageRegistrationId>
</paypage>
</updateSubscription>";

            Assert.AreEqual(expected, actual);
        }
        public void TestSimple()
        {
            var update = new updateSubscription();

            update.billingDate = new DateTime(2002, 10, 9);
            var billToAddress = new contact();

            billToAddress.name   = "Greg Dake";
            billToAddress.city   = "Lowell";
            billToAddress.state  = "MA";
            billToAddress.email  = "*****@*****.**";
            update.billToAddress = billToAddress;
            var card = new cardType();

            card.number           = "4100000000000001";
            card.expDate          = "1215";
            card.type             = methodOfPaymentTypeEnum.VI;
            update.card           = card;
            update.planCode       = "abcdefg";
            update.subscriptionId = 12345;

            var mock = new Mock <Communications>(_memoryStreams);

            mock.Setup(
                Communications =>
                Communications.HttpPost(
                    It.IsRegex(
                        ".*<litleOnlineRequest.*?<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>.*?</billToAddress>\r\n<card>\r\n<type>VI</type>.*?</card>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>\r\n</litleOnlineRequest>.*?.*",
                        RegexOptions.Singleline), It.IsAny <Dictionary <string, string> >()))
            .Returns(
                "<litleOnlineResponse version='8.20' response='0' message='Valid Format' xmlns='http://www.litle.com/schema'><updateSubscriptionResponse ><litleTxnId>456</litleTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04</responseTime><subscriptionId>12345</subscriptionId></updateSubscriptionResponse></litleOnlineResponse>");

            var mockedCommunication = mock.Object;

            litle.setCommunication(mockedCommunication);
            var response = litle.UpdateSubscription(update);

            Assert.AreEqual("12345", response.subscriptionId);
            Assert.AreEqual("456", response.litleTxnId);
            Assert.AreEqual("000", response.response);
            Assert.NotNull(response.responseTime);
        }
예제 #24
0
        public void TestWithToken()
        {
            var update = new updateSubscription
            {
                billingDate   = new DateTime(2002, 10, 9),
                billToAddress = new contact
                {
                    name  = "Greg Dake",
                    city  = "Lowell",
                    state = "MA",
                    email = "*****@*****.**"
                },
                token = new cardTokenType
                {
                    cnpToken          = "987654321098765432",
                    expDate           = "0750",
                    cardValidationNum = "798",
                    type       = methodOfPaymentTypeEnum.VI,
                    checkoutId = "0123456789012345678"
                },
                planCode       = "abcdefg",
                subscriptionId = 12345
            };

            var mock = new Mock <Communications>();

            mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<cnpOnlineRequest.*?<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>.*?</billToAddress>\r\n<token>.*?<checkoutId>0123456789012345678</checkoutId>\r\n</token>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>\r\n</cnpOnlineRequest>.*?.*", RegexOptions.Singleline)))
            .Returns("<cnpOnlineResponse version='8.20' response='0' message='Valid Format' xmlns='http://www.vantivcnp.com/schema'><updateSubscriptionResponse ><cnpTxnId>456</cnpTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04</responseTime><subscriptionId>12345</subscriptionId></updateSubscriptionResponse></cnpOnlineResponse>");

            var mockedCommunication = mock.Object;

            _cnp.SetCommunication(mockedCommunication);
            var response = _cnp.UpdateSubscription(update);

            Assert.AreEqual("12345", response.subscriptionId);
            Assert.AreEqual("456", response.cnpTxnId);
            Assert.AreEqual("000", response.response);
            Assert.NotNull(response.responseTime);
        }
예제 #25
0
        public void TestSimple()
        {
            var update = new updateSubscription
            {
                billingDate   = new DateTime(2002, 10, 9),
                billToAddress = new contact
                {
                    name  = "Greg Dake",
                    city  = "Lowell",
                    state = "MA",
                    email = "*****@*****.**"
                },
                card = new cardType
                {
                    number  = "4100000000000001",
                    expDate = "1215",
                    type    = methodOfPaymentTypeEnum.VI
                },
                planCode       = "abcdefg",
                subscriptionId = 12345
            };

            var mock = new Mock <Communications>();

            mock.Setup(Communications => Communications.HttpPost(It.IsRegex(".*<cnpOnlineRequest.*?<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>.*?</billToAddress>\r\n<card>\r\n<type>VI</type>.*?</card>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>\r\n</cnpOnlineRequest>.*?.*", RegexOptions.Singleline), It.IsAny <Dictionary <String, String> >()))
            .Returns("<cnpOnlineResponse version='8.20' response='0' message='Valid Format' xmlns='http://www.vantivcnp.com/schema'><updateSubscriptionResponse ><cnpTxnId>456</cnpTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04</responseTime><subscriptionId>12345</subscriptionId></updateSubscriptionResponse></cnpOnlineResponse>");

            var mockedCommunication = mock.Object;

            _cnp.SetCommunication(mockedCommunication);
            var response = _cnp.UpdateSubscription(update);

            Assert.AreEqual("12345", response.subscriptionId);
            Assert.AreEqual("456", response.cnpTxnId);
            Assert.AreEqual("000", response.response);
            Assert.NotNull(response.responseTime);
        }
        public void testUpdateSubscription_CanContainUpdateDiscounts()
        {
            updateDiscount ud1 = new updateDiscount();
            ud1.discountCode = "1";
            ud1.name = "cheaper";
            ud1.amount = 200;
            ud1.startDate = new DateTime(2013, 9, 5);
            ud1.endDate = new DateTime(2013, 9, 6);

            updateDiscount ud2 = new updateDiscount();
            ud2.discountCode = "2";
            ud2.name = "cheap";
            ud2.amount = 100;
            ud2.startDate = new DateTime(2013, 9, 3);
            ud2.endDate = new DateTime(2013, 9, 4);

            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.updateDiscounts.Add(ud1);
            update.updateDiscounts.Add(ud2);

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <updateDiscount>
            <discountCode>1</discountCode>
            <name>cheaper</name>
            <amount>200</amount>
            <startDate>2013-09-05</startDate>
            <endDate>2013-09-06</endDate>
            </updateDiscount>
            <updateDiscount>
            <discountCode>2</discountCode>
            <name>cheap</name>
            <amount>100</amount>
            <startDate>2013-09-03</startDate>
            <endDate>2013-09-04</endDate>
            </updateDiscount>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainUpdateAddOns()
        {
            updateAddOn uao1 = new updateAddOn();
            uao1.addOnCode = "1";
            uao1.name = "addOn1";
            uao1.amount = 100;
            uao1.startDate = new DateTime(2013, 9, 5);
            uao1.endDate = new DateTime(2013, 9, 6);

            updateAddOn uao2 = new updateAddOn();
            uao2.addOnCode = "2";
            uao2.name = "addOn2";
            uao2.amount = 200;
            uao2.startDate = new DateTime(2013, 9, 4);
            uao2.endDate = new DateTime(2013, 9, 5);

            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.updateAddOns.Add(uao1);
            update.updateAddOns.Add(uao2);

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <updateAddOn>
            <addOnCode>1</addOnCode>
            <name>addOn1</name>
            <amount>100</amount>
            <startDate>2013-09-05</startDate>
            <endDate>2013-09-06</endDate>
            </updateAddOn>
            <updateAddOn>
            <addOnCode>2</addOnCode>
            <name>addOn2</name>
            <amount>200</amount>
            <startDate>2013-09-04</startDate>
            <endDate>2013-09-05</endDate>
            </updateAddOn>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainToken()
        {
            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.token = new cardTokenType();
            update.token.litleToken = "123456";

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <token>
            <litleToken>123456</litleToken>
            </token>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainPaypage()
        {
            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.paypage = new cardPaypageType();
            update.paypage.paypageRegistrationId = "abc123";

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <paypage>
            <paypageRegistrationId>abc123</paypageRegistrationId>
            </paypage>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
예제 #30
0
 public updateSubscriptionResponse UpdateSubscription(updateSubscription updateSubscription)
 {
     return(SendRequest(response => response.updateSubscriptionResponse, updateSubscription));
 }
        public void testUpdateSubscription()
        {
            updateSubscription update = new updateSubscription();
            update.billingDate = new DateTime(2002, 10, 9);
            contact billToAddress = new contact();
            billToAddress.name = "Greg Dake";
            billToAddress.city = "Lowell";
            billToAddress.state = "MA";
            billToAddress.email = "*****@*****.**";
            update.billToAddress = billToAddress;
            cardType card = new cardType();
            card.number = "4100000000000001";
            card.expDate = "1215";
            card.type = methodOfPaymentTypeEnum.VI;
            update.card = card;
            update.planCode = "abcdefg";
            update.subscriptionId = 12345;

            batchRequest.addUpdateSubscription(update);

            Assert.AreEqual(1, batchRequest.getNumUpdateSubscriptions());

            mockLitleFile.Verify(litleFile => litleFile.createRandomFile(It.IsAny<String>(), It.IsAny<String>(), It.IsAny<String>(), mockLitleTime.Object));
            mockLitleFile.Verify(litleFile => litleFile.AppendLineToFile(mockFilePath, update.Serialize()));
        }
        public void TestUpdateSubscription_Full()
        {
            updateSubscription update = new updateSubscription();
            update.billingDate = new DateTime(2002, 10, 9);
            contact billToAddress = new contact();
            billToAddress.name = "Greg Dake";
            billToAddress.city = "Lowell";
            billToAddress.state = "MA";
            billToAddress.email = "*****@*****.**";
            update.billToAddress = billToAddress;
            cardType card = new cardType();
            card.number = "4100000000000001";
            card.expDate = "1215";
            card.type = methodOfPaymentTypeEnum.VI;
            update.card = card;
            update.planCode = "abcdefg";
            update.subscriptionId = 12345;

            String actual = update.Serialize();
            String expected = "\r\n<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n<planCode>abcdefg</planCode>\r\n<billToAddress>\r\n<name>Greg Dake</name>\r\n<city>Lowell</city>\r\n<state>MA</state>\r\n<email>[email protected]</email>\r\n</billToAddress>\r\n<card>\r\n<type>VI</type>\r\n<number>4100000000000001</number>\r\n<expDate>1215</expDate>\r\n</card>\r\n<billingDate>2002-10-09</billingDate>\r\n</updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_OnlyRequired()
        {
            updateSubscription update = new updateSubscription();
            update.subscriptionId = 12345;

            String actual = update.Serialize();
            String expected = "\r\n<updateSubscription>\r\n<subscriptionId>12345</subscriptionId>\r\n</updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
        public void testUpdateSubscription_CanContainDeleteAddOns()
        {
            deleteAddOn dao1 = new deleteAddOn();
            dao1.addOnCode = "1";

            deleteAddOn dao2 = new deleteAddOn();
            dao2.addOnCode = "2";

            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.deleteAddOns.Add(dao1);
            update.deleteAddOns.Add(dao2);

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <deleteAddOn>
            <addOnCode>1</addOnCode>
            </deleteAddOn>
            <deleteAddOn>
            <addOnCode>2</addOnCode>
            </deleteAddOn>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
예제 #35
0
 public updateSubscriptionResponse UpdateSubscription(updateSubscription transaction)
 {
     return(this.SendTransaction <updateSubscriptionResponse>(transaction));
 }
        public void testUpdateSubscription_CanContainDeleteDiscounts()
        {
            deleteDiscount dd1 = new deleteDiscount();
            dd1.discountCode = "1";

            deleteDiscount dd2 = new deleteDiscount();
            dd2.discountCode = "2";

            updateSubscription update = new updateSubscription();
            update.subscriptionId = 1;
            update.deleteDiscounts.Add(dd1);
            update.deleteDiscounts.Add(dd2);

            String actual = update.Serialize();
            String expected = @"
            <updateSubscription>
            <subscriptionId>1</subscriptionId>
            <deleteDiscount>
            <discountCode>1</discountCode>
            </deleteDiscount>
            <deleteDiscount>
            <discountCode>2</discountCode>
            </deleteDiscount>
            </updateSubscription>";
            Assert.AreEqual(expected, actual);
        }
예제 #37
0
        public void testUpdateSubscription()
        {
            updateSubscription update = new updateSubscription();
            update.billingDate = new DateTime(2002, 10, 9);
            contact billToAddress = new contact();
            billToAddress.name = "Greg Dake";
            billToAddress.city = "Lowell";
            billToAddress.state = "MA";
            billToAddress.email = "*****@*****.**";
            update.billToAddress = billToAddress;
            cardType card = new cardType();
            card.number = "4100000000000001";
            card.expDate = "1215";
            card.type = methodOfPaymentTypeEnum.VI;
            update.card = card;
            update.planCode = "abcdefg";
            update.subscriptionId = 12345;

            var mockLitleResponse = new Mock<litleResponse>();
            var mockLitleXmlSerializer = new Mock<litleXmlSerializer>();

            mockXmlReader.SetupSequence(XmlReader => XmlReader.ReadOuterXml())
                .Returns("<updateSubscriptionResponse xmlns=\"http://www.litle.com/schema\"><litleTxnId>54321</litleTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04T21:55:14</responseTime><subscriptionId>12345</subscriptionId></updateSubscriptionResponse>")
                .Returns("<updateSubscriptionResponse xmlns=\"http://www.litle.com/schema\"><litleTxnId>12345</litleTxnId><response>000</response><message>Approved</message><responseTime>2013-09-04T21:55:14</responseTime><subscriptionId>54321</subscriptionId></updateSubscriptionResponse>");

            batchResponse mockLitleBatchResponse = new batchResponse();
            mockLitleBatchResponse.setUpdateSubscriptionResponseReader(mockXmlReader.Object);

            mockLitleResponse.Setup(litleResponse => litleResponse.nextBatchResponse()).Returns(mockLitleBatchResponse);
            litleResponse mockedLitleResponse = mockLitleResponse.Object;

            mockLitleXmlSerializer.Setup(litleXmlSerializer => litleXmlSerializer.DeserializeObjectFromFile(It.IsAny<String>())).Returns(mockedLitleResponse);

            Communications mockedCommunication = mockCommunications.Object;
            litle.setCommunication(mockedCommunication);

            litleXmlSerializer mockedLitleXmlSerializer = mockLitleXmlSerializer.Object;
            litle.setLitleXmlSerializer(mockedLitleXmlSerializer);

            litleFile mockedLitleFile = mockLitleFile.Object;
            litle.setLitleFile(mockedLitleFile);

            litle.setLitleTime(mockLitleTime.Object);

            batchRequest litleBatchRequest = new batchRequest();
            litleBatchRequest.setLitleFile(mockedLitleFile);
            litleBatchRequest.setLitleTime(mockLitleTime.Object);
            litleBatchRequest.addUpdateSubscription(update);
            litle.addBatch(litleBatchRequest);

            string batchFileName = litle.sendToLitle();
            litleResponse actualLitleResponse = litle.receiveFromLitle(batchFileName);
            batchResponse actualLitleBatchResponse = actualLitleResponse.nextBatchResponse();

            Assert.AreSame(mockLitleBatchResponse, actualLitleBatchResponse);
            Assert.AreEqual("12345", actualLitleBatchResponse.nextUpdateSubscriptionResponse().subscriptionId);
            Assert.AreEqual("54321", actualLitleBatchResponse.nextUpdateSubscriptionResponse().subscriptionId);
            Assert.IsNull(actualLitleBatchResponse.nextUpdateSubscriptionResponse());

            mockCommunications.Verify(Communications => Communications.FtpDropOff(It.IsAny<String>(), mockFileName, It.IsAny<Dictionary<String, String>>()));
            mockCommunications.Verify(Communications => Communications.FtpPickUp(It.IsAny<String>(), It.IsAny<Dictionary<String, String>>(), mockFileName));
        }
예제 #38
0
        public updateSubscriptionResponse UpdateSubscription(updateSubscription updateSubscription)
        {
            litleOnlineRequest request = createLitleOnlineRequest();
            request.updateSubscription = updateSubscription;

            litleOnlineResponse response = sendToLitle(request);
            updateSubscriptionResponse updateResponse = (updateSubscriptionResponse)response.updateSubscriptionResponse;
            return updateResponse;
        }
 public void addUpdateSubscription(updateSubscription updateSubscription)
 {
     if (numAccountUpdates == 0)
     {
         numUpdateSubscriptions++;
         tempBatchFilePath = saveElement(litleFile, litleTime, tempBatchFilePath, updateSubscription);
     }
     else
     {
         throw new LitleOnlineException(accountUpdateErrorMessage);
     }
 }
예제 #40
0
        public updateSubscriptionResponse UpdateSubscription(updateSubscription updateSubscription)
        {
            var request = createLitleOnlineRequest();
            request.updateSubscription = updateSubscription;

            var response = sendToLitle(request);
            var updateResponse = response.updateSubscriptionResponse;
            return updateResponse;
        }