public CreatePaymentHandlerTests() { _eventStore = new Mock <IEventStore <Payment> >(); _eventDispatcher = new Mock <IEventDispatcher <Payment> >(); _abApiClient = new Mock <IAcquiringBankHttpClient>(); _sut = new CreatePaymentHandler(_eventStore.Object, _eventDispatcher.Object, _abApiClient.Object); _mockCommand = new CreatePaymentCommand(default, default, default, default, default, default, default);
public void SetUp() { // Boilerplate _mockRepository = new MockRepository(MockBehavior.Strict); _fixture = new Fixture(); // Mock setup _logger = _mockRepository.Create <ILogger <CreatePaymentHandler> >(MockBehavior.Loose); _mockBankApiClient = _mockRepository.Create <IMockBankApiClient>(); _mediator = _mockRepository.Create <IMediator>(); _merchantContext = _mockRepository.Create <IMerchantContext>(); // Mock default SetupMockDefaults(); // Sut instantiation _createPaymentHandler = new CreatePaymentHandler( _logger.Object, _mockBankApiClient.Object, _mediator.Object, _merchantContext.Object ); }
public void AddsPaymentToRepository_RaisesIntegrationEvent() { var paymentsRepository = new Mock <IPaymentsRepository>(MockBehavior.Strict); paymentsRepository.Setup(r => r.AddAsync(It.Is <Accounting.Domain.Payment>(p => IsExpectedPayment(p)))).Returns(Task.CompletedTask).Verifiable(); paymentsRepository.Setup(r => r.SaveChanges()).Returns(Task.CompletedTask).Verifiable(); var busPublisher = new Mock <IBusPublisher>(MockBehavior.Strict); busPublisher.Setup(p => p.Publish(It.Is <IPaymentCreated>(e => IsExpectedEvent(e)))).Returns(Task.CompletedTask).Verifiable(); var userVerifier = new Mock <IUserVerifier>(MockBehavior.Strict); userVerifier.Setup(r => r.AssertExists(Cmd.UserId)).Returns(Task.CompletedTask).Verifiable(); var handler = new CreatePaymentHandler(paymentsRepository.Object, busPublisher.Object, userVerifier.Object); var result = handler.HandleAsync(Cmd, new Mock <ICorrelationContext>().Object).GetAwaiter().GetResult(); Assert.IsTrue(result.Successful); paymentsRepository.Verify(); busPublisher.Verify(); userVerifier.Verify(); }
public CreatePaymentHandlerTests() { _mocker = new AutoMoqer(); _classUnderTest = _mocker.Resolve <CreatePaymentHandler>(); }