public async Task PaymentTypeER_TestGetNewPaymentTypeER()
        {
            var paymentType = await PaymentTypeER.NewPaymentTypeER();

            Assert.NotNull(paymentType);
            Assert.False(paymentType.IsValid);
        }
        public async Task PaymentTypeER_TestInvalidSavePaymentTypeER()
        {
            var paymentType = await PaymentTypeER.NewPaymentTypeER();

            paymentType.Description = String.Empty;
            PaymentTypeER savedPaymentType = null;

            Assert.False(paymentType.IsValid);
            Assert.Throws <Csla.Rules.ValidationException>(() => savedPaymentType = paymentType.Save());
        }
        public async Task PaymentTypeER_TestInsertNewPaymentTypeER()
        {
            var paymentType = await PaymentTypeER.NewPaymentTypeER();

            paymentType.Description = "Standby";
            paymentType.Notes       = "This person is on standby";

            var savedPaymentType = await paymentType.SaveAsync();

            Assert.NotNull(savedPaymentType);
            Assert.IsType <PaymentTypeER>(savedPaymentType);
            Assert.True(savedPaymentType.Id > 0);
        }
        public async Task PaymentTypeER_TestDescriptionRequired()
        {
            var paymentType = await PaymentTypeER.NewPaymentTypeER();

            paymentType.Description = "make valid";
            var isObjectValidInit = paymentType.IsValid;

            paymentType.Description = string.Empty;

            Assert.NotNull(paymentType);
            Assert.True(isObjectValidInit);
            Assert.False(paymentType.IsValid);
            Assert.Equal("Description", paymentType.BrokenRulesCollection[0].Property);
            Assert.Equal("Description required", paymentType.BrokenRulesCollection[0].Description);
        }
        public async Task PaymentTypeER_TestDescriptionExceedsMaxLengthOf50()
        {
            var paymentType = await PaymentTypeER.NewPaymentTypeER();

            paymentType.Description = "valid length";
            Assert.True(paymentType.IsValid);

            paymentType.Description =
                "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor " +
                "incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis " +
                "nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. " +
                "Duis aute irure dolor in reprehenderit";

            Assert.NotNull(paymentType);
            Assert.False(paymentType.IsValid);
            Assert.Equal("Description", paymentType.BrokenRulesCollection[0].Property);
            Assert.Equal("Description can not exceed 50 characters", paymentType.BrokenRulesCollection[0].Description);
        }