コード例 #1
0
        public void FailIfSinglePaymentIdDoesntExistInRepository()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        filledField = field.FillAndClone("100");
            List <IField> fullFields  = new List <IField>();

            fullFields.Add(filledField);
            Provider       provider = new Provider("Antel", 3, emptyFields);
            Receipt        receipt  = new Receipt(provider, fullFields, 100);
            List <Receipt> list     = new List <Receipt>();

            list.Add(receipt);
            Payment payment            = new Payment(new CashPayMethod(DateTime.Now), 100, list);
            var     mockPaymentService = new Mock <IPaymentService>();

            mockPaymentService.Setup(x => x.GetSinglePayment(payment.ID + 1)).Throws(new ArgumentOutOfRangeException());
            PaymentsController controller = new PaymentsController(mockPaymentService.Object);

            IHttpActionResult actionResult = controller.GetPayment(payment.ID + 1);

            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
        }
コード例 #2
0
        public void FailIfPostedNewPaymentIsAlreadyInRepository()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        filledField = field.FillAndClone("100");
            List <IField> fullFields  = new List <IField>();

            fullFields.Add(filledField);
            Provider       provider = new Provider("Antel", 3, emptyFields);
            Receipt        receipt  = new Receipt(provider, fullFields, 100);
            List <Receipt> list     = new List <Receipt>();

            list.Add(receipt);
            Payment payment            = new Payment(new CashPayMethod(DateTime.Now), 100, list);
            var     mockPaymentService = new Mock <IPaymentService>();

            mockPaymentService.Setup(x => x.CreatePayment(payment)).Throws(new ArgumentException());
            PaymentsController controller = new PaymentsController(mockPaymentService.Object);

            IHttpActionResult actionResult = controller.PostPayment(payment);

            Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult));
        }
コード例 #3
0
        public void BeAbleToReturnASinglePaymentInRepository()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        filledField = field.FillAndClone("100");
            List <IField> fullFields  = new List <IField>();

            fullFields.Add(filledField);
            Provider       provider = new Provider("Antel", 3, emptyFields);
            Receipt        receipt  = new Receipt(provider, fullFields, 100);
            List <Receipt> list     = new List <Receipt>();

            list.Add(receipt);
            Payment payment            = new Payment(new CashPayMethod(DateTime.Now), 100, list);
            var     mockPaymentService = new Mock <IPaymentService>();

            mockPaymentService.Setup(x => x.GetSinglePayment(payment.ID)).Returns(payment);
            PaymentsController controller = new PaymentsController(mockPaymentService.Object);

            IHttpActionResult actionResult = controller.GetPayment(payment.ID);
            OkNegotiatedContentResult <Payment> contentResult = (OkNegotiatedContentResult <Payment>)actionResult;

            Assert.AreSame(contentResult.Content, payment);
        }
        public void TellItIsNotValidWhenItStoresANumberSmallerOrEqualToZero()
        {
            NumberField numberField = new NumberField("Monto");

            IField newNumberField = numberField.FillAndClone("0");

            Assert.IsFalse(newNumberField.IsValid());
        }
        public void TellItIsValidWhenItStoresANumberGreaterThanZero()
        {
            NumberField numberField = new NumberField("Monto");

            IField newNumberField = numberField.FillAndClone("1");

            Assert.IsTrue(newNumberField.IsValid());
        }
        public void ReturnANewNumberFieldWhenFilled()
        {
            NumberField numberField = new NumberField("Monto");

            IField newNumberField = numberField.FillAndClone("15");

            Assert.AreNotSame(numberField, newNumberField);
        }
        public void BeAbleToTellItIsNotEqualToANullObject()
        {
            NumberField firstNumberField = new NumberField("Monto");

            IField firstNewNumberField = firstNumberField.FillAndClone("2");

            Assert.IsFalse(firstNewNumberField.Equals(null));
        }
        public void AllowToBeFilled()
        {
            NumberField numberField = new NumberField("Monto");

            IField newNumberField = numberField.FillAndClone("15");
            string expectedResult = "15";

            Assert.AreEqual(expectedResult, newNumberField.GetData());
        }
コード例 #9
0
        public void FailIfFieldsListHasCompletedField()
        {
            NumberField   aNumberField         = new NumberField("ID");
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Provider provider = new Provider("Antel", 20, completedFields);
        }
        public void BeAbleToTellItIsNotEqualToAnotherNumberFieldWithSameNameButDifferentData()
        {
            NumberField firstNumberField  = new NumberField("Monto");
            NumberField secondNumberField = new NumberField("Monto");

            IField firstNewNumberField  = firstNumberField.FillAndClone("2");
            IField secondNewNumberField = secondNumberField.FillAndClone("3");

            Assert.IsFalse(firstNewNumberField.Equals(secondNewNumberField));
        }
        public void BeAbleToTellItIsEqualToAnotherNumberFieldWithSameNameAndData()
        {
            NumberField firstNumberField  = new NumberField("Monto");
            NumberField secondNumberField = new NumberField("Monto");

            IField firstNewNumberField  = firstNumberField.FillAndClone("2");
            IField secondNewNumberField = secondNumberField.FillAndClone("2");

            Assert.IsTrue(firstNewNumberField.Equals(secondNewNumberField));
        }
コード例 #12
0
        public void BeAbleToTellItIsNotEqualToAnotherReceiptWithDifferentCompletedFieldsList()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider = new Provider("Antel", 20, list);
            double        amount   = 1000;
            IField        firstCompletedNumberField  = aNumberField.FillAndClone("8000");
            IField        secondCompletedNumberField = aNumberField.FillAndClone("5000");
            List <IField> firstCompletedFields       = new List <IField>();

            firstCompletedFields.Add(firstCompletedNumberField);
            List <IField> secondCompletedFields = new List <IField>();

            secondCompletedFields.Add(secondCompletedNumberField);
            Receipt firstReceipt  = CreateReceipt(provider, firstCompletedFields, amount);
            Receipt secondReceipt = CreateReceipt(provider, secondCompletedFields, amount);

            Assert.AreNotSame(firstReceipt, secondReceipt);
            Assert.IsFalse(firstReceipt.Equals(secondReceipt));
        }
コード例 #13
0
        private Payment CreatePayment()
        {
            IField providerEmptyField = new NumberField("Total");

            Provider oneprovider = new Provider("Antel", 10, new[] { providerEmptyField });

            IField providerCompleteField = providerEmptyField.FillAndClone("123456");

            Receipt providerReceipt = new Receipt(
                oneprovider, new[] { providerCompleteField }, 1000);


            return(new Payment(new DebitPayMethod(DateTime.Today), 1000, new[] { providerReceipt }));
        }
コード例 #14
0
        private Receipt CreateNewReceipt()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        filledField = field.FillAndClone("100");
            List <IField> fullFields  = new List <IField>();

            fullFields.Add(filledField);
            Provider provider = new Provider("Antel", 3, emptyFields);

            return(new Receipt(provider, fullFields, 100));
        }
コード例 #15
0
        public void BeAbleToReturnAllPaymentsInRepository()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        firstFilledField = field.FillAndClone("100");
            List <IField> firstFullFields  = new List <IField>();

            firstFullFields.Add(firstFilledField);
            IField        secondFilledField = field.FillAndClone("101");
            List <IField> secondFullFields  = new List <IField>();

            secondFullFields.Add(secondFilledField);
            Provider       provider      = new Provider("Antel", 3, emptyFields);
            Receipt        firstReceipt  = new Receipt(provider, firstFullFields, 100);
            Receipt        secondReceipt = new Receipt(provider, secondFullFields, 100);
            List <Receipt> firstList     = new List <Receipt>();
            List <Receipt> secondList    = new List <Receipt>();

            firstList.Add(firstReceipt);
            secondList.Add(secondReceipt);
            var allPayments = new[]
            {
                new Payment(new CashPayMethod(DateTime.Now), 100, firstList),
                new Payment(new DebitPayMethod(DateTime.Now), 100, secondList)
            };
            var mockPaymentService = new Mock <IPaymentService>();

            mockPaymentService.Setup(x => x.GetAllPayments()).Returns(allPayments);
            PaymentsController controller = new PaymentsController(mockPaymentService.Object);

            IHttpActionResult actionResult = controller.GetPayments();
            OkNegotiatedContentResult <IEnumerable <Payment> > contentResult = (OkNegotiatedContentResult <IEnumerable <Payment> >)actionResult;

            Assert.AreSame(contentResult.Content, allPayments);
        }
コード例 #16
0
        public void FailIfProviderIsNull()
        {
            List <IField> list               = new List <IField>();
            NumberField   aNumberField       = new NumberField("Coordenada X");
            NumberField   anotherNumberField = new NumberField("Coordenada Y");

            list.Add(aNumberField);
            double        amount = 10000;
            IField        completedNumberField = anotherNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Receipt receipt = CreateReceipt(null, completedFields, amount);
        }
コード例 #17
0
        public void FailIfCompletedFieldsAreNotTheSameAsProvidersFieldsIgnoringData()
        {
            List <IField> list               = new List <IField>();
            NumberField   aNumberField       = new NumberField("Coordenada X");
            NumberField   anotherNumberField = new NumberField("Coordenada Y");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = anotherNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Receipt receipt = CreateReceipt(provider, completedFields, amount);
        }
コード例 #18
0
        public void FailCreationIfProviderIsDeactivated()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("ID");

            list.Add(aNumberField);
            Provider provider = new Provider("Antel", 20, list);

            provider.Active = false;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Receipt receipt = new Receipt(provider, completedFields, 0);
        }
コード例 #19
0
        public void BeAbleToTellIfItContainsCertainField()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);
            Receipt receipt = CreateReceipt(provider, completedFields, amount);

            Assert.IsTrue(receipt.ContainsField(completedNumberField));
        }
コード例 #20
0
        public void BeAbleToTellItsProvider()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("ID");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Receipt receipt = new Receipt(provider, completedFields, 0);

            Assert.AreEqual(provider, receipt.ReceiptProvider);
        }
コード例 #21
0
        public void BeAbleToTellItIsNotEqualToAnotherTypeOfObject()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);
            Receipt firstReceipt = CreateReceipt(provider, completedFields, amount);

            Assert.IsFalse(firstReceipt.Equals(provider));
        }
        private Receipt CreateReceipt()
        {
            List <IField> emptyFieldList = new List <IField>();
            NumberField   aNumberField   = new NumberField("Numerito");

            emptyFieldList.Add(aNumberField);

            Provider provider = new Provider("Antel", 20, emptyFieldList);

            IField        aCompleteNumberField = aNumberField.FillAndClone("1234");
            List <IField> completeFieldList    = new List <IField>();

            completeFieldList.Add(aCompleteNumberField);
            double amount = 1500;

            return(new Receipt(provider, completeFieldList, amount));
        }
コード例 #23
0
        public void KnowTheAmountToBePaid()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);

            Receipt receipt = new Receipt(provider, completedFields, amount);

            Assert.AreEqual(amount, receipt.Amount);
        }
        private Payment CreateNewPayment()
        {
            List <IField> emptyFields = new List <IField>();
            NumberField   field       = new NumberField("Monto");

            emptyFields.Add(field);
            IField        filledField = field.FillAndClone("100");
            List <IField> fullFields  = new List <IField>();

            fullFields.Add(filledField);
            Provider       provider = new Provider("Antel", 3, emptyFields);
            Receipt        receipt  = new Receipt(provider, fullFields, 100);
            List <Receipt> list     = new List <Receipt>();

            list.Add(receipt);
            return(new Payment(new CashPayMethod(DateTime.Today), 100, list));
        }
コード例 #25
0
        public void HaveTheNecessaryCompletedFields()
        {
            List <IField> list        = new List <IField>();
            DateField     datefield   = new DateField("Fecha");
            NumberField   numberField = new NumberField("Monto");

            list.Add(numberField);
            list.Add(datefield);
            Provider      provider             = new Provider("Antel", 20, list);
            IField        completedDateField   = datefield.FillAndClone("2012-09-17T22:02:51Z");
            IField        completedNumberField = numberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedDateField);
            completedFields.Add(completedNumberField);

            Receipt receipt = new Receipt(provider, completedFields, 0);
        }
コード例 #26
0
        public void BeAbleToTellItIsEqualToAnotherReceiptWithTheSameFieldsAndData()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);
            Receipt firstReceipt  = CreateReceipt(provider, completedFields, amount);
            Receipt secondReceipt = CreateReceipt(provider, completedFields, amount);

            Assert.AreNotSame(firstReceipt, secondReceipt);
            Assert.IsTrue(firstReceipt.Equals(secondReceipt));
        }
コード例 #27
0
        public void BeAbleToCalculateHowMuchTodoPagosEarnsFromIt()
        {
            List <IField> list         = new List <IField>();
            NumberField   aNumberField = new NumberField("Coordenada X");

            list.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, list);
            double        amount               = 10000;
            IField        completedNumberField = aNumberField.FillAndClone("8000");
            List <IField> completedFields      = new List <IField>();

            completedFields.Add(completedNumberField);
            Receipt receipt         = new Receipt(provider, completedFields, amount);
            double  expectedEarning = 2000;

            double obtainedEarning = receipt.CalculateEarnings();

            Assert.AreEqual(expectedEarning, obtainedEarning);
        }
        private Payment CreatePayment()
        {
            PayMethod     paymentMethod  = new DebitPayMethod(DateTime.Today);
            List <IField> emptyFieldList = new List <IField>();
            NumberField   aNumberField   = new NumberField("Numerito");

            emptyFieldList.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, emptyFieldList);
            IField        aCompleteNumberField = aNumberField.FillAndClone("1234");
            List <IField> completeFieldList    = new List <IField>();

            completeFieldList.Add(aCompleteNumberField);
            double         amount   = 10000;
            Receipt        receipt  = new Receipt(provider, completeFieldList, amount);
            List <Receipt> receipts = new List <Receipt>();

            receipts.Add(receipt);
            int amountPayed = 10000;

            return(new Payment(paymentMethod, amountPayed, receipts));
        }
        public void BeAbleToAddAllEarningsToExistingDictionaryOfEarningsPerProviderGivenFromAndToDates()
        {
            IDictionary <Provider, double> earningsPerProvider = new Dictionary <Provider, double>();
            PayMethod     paymentMethod  = new DebitPayMethod(DateTime.Today);
            List <IField> emptyFieldList = new List <IField>();
            NumberField   aNumberField   = new NumberField("Numerito");

            emptyFieldList.Add(aNumberField);
            Provider      provider             = new Provider("Antel", 20, emptyFieldList);
            IField        aCompleteNumberField = aNumberField.FillAndClone("1234");
            List <IField> completeFieldList    = new List <IField>();

            completeFieldList.Add(aCompleteNumberField);
            double         amount   = 10000;
            Receipt        receipt  = new Receipt(provider, completeFieldList, amount);
            List <Receipt> receipts = new List <Receipt>();

            receipts.Add(receipt);
            int     amountPayed = 10000;
            Payment newPayment  = new Payment(paymentMethod, amountPayed, receipts);
            IDictionary <Provider, double> expectedDictionary = new Dictionary <Provider, double>();

            expectedDictionary.Add(provider, 2000);

            newPayment.AddThisPaymentsEarningsToDictionary(earningsPerProvider, DateTime.Today, DateTime.Today);

            bool result = true;

            foreach (KeyValuePair <Provider, double> pair in expectedDictionary)
            {
                if (!earningsPerProvider.Contains(pair))
                {
                    result = false;
                }
            }
            Assert.IsTrue(result);
        }
        public void HavePositiveAmountPayed()
        {
            PayMethod     paymentMethod  = new DebitPayMethod(DateTime.Now);
            List <IField> emptyFieldList = new List <IField>();
            NumberField   aNumberField   = new NumberField("Numerito");

            emptyFieldList.Add(aNumberField);

            Provider provider = new Provider("Antel", 20, emptyFieldList);

            IField        aCompleteNumberField = aNumberField.FillAndClone("1234");
            List <IField> completeFieldList    = new List <IField>();

            completeFieldList.Add(aCompleteNumberField);
            double  amount  = 10000;
            Receipt receipt = new Receipt(provider, completeFieldList, amount);

            List <Receipt> receipts = new List <Receipt>();

            receipts.Add(receipt);

            int     amountPayed = -1000;
            Payment newPayment  = new Payment(paymentMethod, amountPayed, receipts);
        }