Esempio n. 1
0
        public void ValidatesGenerateRequest()
        {
            var message = new GenerateRequestMessage();
            var validator = new Mock<IDataAnnotationsValidator>();
            validator.Setup(m => m.Validate(message)).Returns(Enumerable.Empty<PropertyValidationResult>()).Verifiable();
            var payfit = new DpsPayfitFixture
            {
                Validator = validator.Object
            }.Build();

            payfit.EnsureMessageValid(message);
            validator.VerifyAll();
        }
Esempio n. 2
0
 public async Task<RequestMessage> PostGenerateRequestAsync(GenerateRequestMessage message)
 {
     if (message == null) throw new ArgumentNullException(nameof(message));
     var generateRequestXml = XmlMessageSerializer.Serialize(message);
     var response = await _generateRequestService.GenerateRequest(generateRequestXml);
     var responseBody = response.Content.ReadAsStringAsync();
     if (response.StatusCode != HttpStatusCode.OK)
     {
         throw new Exception($"PaymentExpress GenerateRequest returned STATUS: {response.StatusCode} \n MessageBody:\n {responseBody}");
     }
     var responseBodyXml = await responseBody;
     return XmlMessageSerializer.Deserialize<RequestMessage>(responseBodyXml);
 }
Esempio n. 3
0
        public void ThrowsExceptionWhenMessageIsInvalid()
        {
            const string error = "Sample error";
            var message = new GenerateRequestMessage();
            var invalidMemberName = nameof(message.EmailAddress);
            var validator = new Mock<IDataAnnotationsValidator>();
            validator.Setup(m => m.Validate(message)).Returns(new[] { new PropertyValidationResult {
                IsValid = false,
                MemberName = invalidMemberName,
                ValidationResults = new[] {new  ValidationResult(error) }
            } }).Verifiable();
            var payfit = new DpsPayfitFixture
            {
                Validator = validator.Object
            }.Build();

            Assert.Throws <Exception>(() => {
                payfit.EnsureMessageValid(message);
            });

            validator.VerifyAll();
        }