public void Should_ReturnSuccess_ForValidReference(EPaymentReferenceValidation referenceValidation, string reference)
        {
            // Arrange
            var paymentSubmission = new PaymentSubmission
            {
                Amount  = 10.00m,
                Payment = new ProcessedPayment("paymentTitle",
                                               "paymentSlug",
                                               "paymentTeaser",
                                               "paymentDescription",
                                               "paymentDetailsText",
                                               "paymentReference",
                                               "fund",
                                               "glCodeCostCentreNumber",
                                               new List <Crumb>(),
                                               referenceValidation,
                                               "metaDescription",
                                               "returnUrl",
                                               "catalogueId",
                                               "accountReference",
                                               "paymentDescription",
                                               new List <Alert>()),
                Reference = reference
            };
            var context = new ValidationContext(paymentSubmission);
            var results = new List <ValidationResult>();

            // Act
            var result = Validator.TryValidateObject(paymentSubmission, context, results, true);

            // Assert
            result.Should().BeTrue();
        }
        public void Should_ReturnFalse_ForInvalidReference_ForServicePayPayment(EPaymentReferenceValidation referenceValidation, string reference)
        {
            // Arrange
            var paymentSubmission = new ServicePayPaymentSubmissionViewModel
            {
                Amount  = "10.00",
                Payment = new ProcessedServicePayPayment("paymentTitle",
                                                         "paymentSlug",
                                                         "paymentTeaser",
                                                         "paymentDescription",
                                                         "paymentDetailsText",
                                                         "paymentReference",
                                                         new List <Crumb>(),
                                                         referenceValidation,
                                                         "metaDescription",
                                                         "returnUrl",
                                                         "catalogueId",
                                                         "accountReference",
                                                         "paymentDescription",
                                                         new List <Alert>(),
                                                         "12"),
                Reference    = reference,
                Name         = "name",
                EmailAddress = "*****@*****.**"
            };
            var context = new ValidationContext(paymentSubmission);
            var results = new List <ValidationResult>();

            // Act
            var result = Validator.TryValidateObject(paymentSubmission, context, results, true);

            // Assert
            result.Should().BeFalse();
        }
Esempio n. 3
0
        private ValidationResult ValidateReference(object value, EPaymentReferenceValidation referenceValidation)
        {
            if (referenceValidation == EPaymentReferenceValidation.None)
            {
                return(ValidationResult.Success);
            }

            var reference = value as string;

            if (reference == null)
            {
                return(new ValidationResult("The reference number is required"));
            }

            var isValid = Regex.IsMatch(reference, ValidatorsRegex[referenceValidation]);

            return(!isValid
                ? new ValidationResult("Check the reference number and try again")
                : ValidationResult.Success);
        }
 public ProcessedServicePayPayment(string title, string slug, string teaser, string description, string paymentDetailsText,
                                   string referenceLabel, List <Crumb> breadcrumbs, EPaymentReferenceValidation referenceValidation,
                                   string metaDescription, string returnUrl, string catalogueId, string accountReference,
                                   string paymentDescription, IEnumerable <Alert> alerts, string paymentAmount)
 {
     Title               = title;
     Slug                = slug;
     Teaser              = teaser;
     Description         = description;
     PaymentDetailsText  = paymentDetailsText;
     ReferenceLabel      = referenceLabel;
     Breadcrumbs         = breadcrumbs;
     ReferenceValidation = referenceValidation;
     MetaDescription     = metaDescription;
     ReturnUrl           = returnUrl;
     CatalogueId         = catalogueId;
     AccountReference    = accountReference;
     PaymentDescription  = paymentDescription;
     Alerts              = alerts;
     PaymentAmount       = paymentAmount;
 }
Esempio n. 5
0
 public ProcessedPayment(string title, string slug, string teaser, string description, string paymentDetailsText,
                         string referenceLabel, string fund, string glCodeCostCentreNumber, List <Crumb> breadcrumbs,
                         EPaymentReferenceValidation referenceValidation, string metaDescription, string returnUrl, string catalogueId,
                         string accountReference, string paymentDescription, IEnumerable <Alert> alerts)
 {
     Title                  = title;
     Slug                   = slug;
     Teaser                 = teaser;
     Description            = description;
     PaymentDetailsText     = paymentDetailsText;
     ReferenceLabel         = referenceLabel;
     Fund                   = fund;
     GlCodeCostCentreNumber = glCodeCostCentreNumber;
     Breadcrumbs            = breadcrumbs;
     ReferenceValidation    = referenceValidation;
     MetaDescription        = metaDescription;
     ReturnUrl              = returnUrl;
     CatalogueId            = catalogueId;
     AccountReference       = accountReference;
     PaymentDescription     = paymentDescription;
     Alerts                 = alerts;
 }