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 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(); }
public async Task CallsApiToGenerateRequest() { var message = new GenerateRequestMessageFixture().Build(); var response = new RequestMessageFixture().Build(); var validator = new Mock<IDataAnnotationsValidator>(); validator.Setup(m => m.Validate(message)) .Returns(Enumerable.Empty<PropertyValidationResult>()) .Verifiable(); var api = new Mock<IPaymentExpressApi>(); api.Setup(m => m.PostGenerateRequestAsync(message)) .ReturnsAsync(response) .Verifiable(); var payfit = new DpsPayfitFixture { Api = api.Object, Validator = validator.Object }.Build(); var result = await payfit.CreateGenerateRequest(message); Assert.Equal(response, result); validator.VerifyAll(); api.VerifyAll(); }