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(); }
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); }
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(); }