Example #1
0
        public void error_message_output()
        {
            var order = new DwollaPurchaseOrder
            {
                CustomerInfo = new DwollaCustomerInfo
                {
                    FirstName = "Brian",
                    LastName  = "Chavez",
                    City      = "Beverly Hills",
                    State     = "CA",
                    Zip       = "90210",
                    Email     = "*****@*****.**",
                },
                OrderItems =
                {
                    new DwollaOrderItem(price: 25.00m, quantity: 1, name: "Candy Bar")
                    {
                        Description = "Super Expensive Candy Bar"
                    }
                },
                DestinationId     = "123-123-1234",
                FacilitatorAmount = 5.00m,
            };
            //order.Metadata.Add("zzzzzzzzzzzzzzzz", "fffffffffff");

            var vr = validator.Validate(order);

            vr.Errors.ToList().ForEach(x => Console.WriteLine(x.ToString()));
            vr.IsValid.Should().BeTrue();
        }
Example #2
0
        public void order_items_with_at_least_one_order_item_is_okay()
        {
            var goodOrder = new DwollaPurchaseOrder()
            {
                OrderItems = { new DwollaOrderItem("foo", 5.00m, 1) }
            };

            validator.ShouldNotHaveValidationErrorFor(po => po.OrderItems, goodOrder);
        }
Example #3
0
        public void facilitator_validation()
        {
            var order = new DwollaPurchaseOrder
            {
                OrderItems =
                {
                    new DwollaOrderItem(price: 25.00m, quantity: 1, name: "Candy Bar")
                    {
                        Description = "Super Expensive Candy Bar"
                    }
                },
                FacilitatorAmount = 5.00m
            };

            validator.ShouldNotHaveValidationErrorFor(po => po.FacilitatorAmount, order);

            order.FacilitatorAmount = 6.25m; // max facilitator fee for the total
            validator.ShouldHaveValidationErrorFor(po => po.FacilitatorAmount, order);
        }
Example #4
0
        public void ensure_valid_metadata()
        {
            validator.ShouldHaveChildValidator(po => po.Metadata, typeof(DwollaMetadataValidator));

            var order = new DwollaPurchaseOrder
            {
                CustomerInfo = new DwollaCustomerInfo
                {
                    FirstName = "Brian",
                    LastName  = "Chavez",
                    City      = "Beverly Hills",
                    State     = "CA",
                    Zip       = "90210",
                    Email     = "*****@*****.**",
                },
                OrderItems =
                {
                    new DwollaOrderItem(price: 25.00m, quantity: 1, name: "Candy Bar")
                    {
                        Description = "Super Expensive Candy Bar"
                    }
                },
                DestinationId     = "123-123-1234",
                FacilitatorAmount = 5.00m,
            };

            order.Metadata.Add("f",
                               "asdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdf");

            validator.Validate(order).IsValid.Should().BeFalse();

            order.Metadata.Clear();
            order.Metadata.Add("asdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdfasdfasdfasdfjwjwfjwjfwahsdfasdf", "v");

            validator.Validate(order).IsValid.Should().BeFalse();

            order.Metadata.Clear();
            order.Metadata.Add("key", "value");

            validator.Validate(order).IsValid.Should().BeTrue();
        }
Example #5
0
        public void total_validation()
        {
            var order = new DwollaPurchaseOrder
            {
                OrderItems =
                {
                    new DwollaOrderItem("Candy Bar", 25.00m, 1)
                    {
                        Description = "Super Expensive Candy Bar"
                    },
                    new DwollaOrderItem("Lolly Pop", 30.00m, 2)
                    {
                        Description = "Super Expensive Lolly Pop"
                    },
                }
            };

            validator.ShouldNotHaveValidationErrorFor(po => po.Total, order);

            order.OrderItems.Skip(1).First().Price = -12.49m;
            validator.ShouldHaveValidationErrorFor(po => po.Total, order);
        }