public async Task Handle_ExceptionIsThrown_ReturnFalse( [Frozen] Mock <IRequestManager> requestManagerMock, [Frozen] Mock <IMediator> mediatorMock, IdentifiedCommandHandler <CreateSalesOrderCommand, bool> sut, IdentifiedCommand <CreateSalesOrderCommand, bool> command ) { //Arrange requestManagerMock.Setup(_ => _.ExistAsync(It.IsAny <Guid>())) .ReturnsAsync(false); mediatorMock.Setup(_ => _.Send <bool>( It.IsAny <CreateSalesOrderCommand>(), It.IsAny <CancellationToken>() )) .Throws <Exception>(); //Act var result = await sut.Handle(command, CancellationToken.None); //Assert result.Should().Be(false); requestManagerMock.Verify(_ => _.CreateRequestForCommandAsync <CreateSalesOrderCommand>( It.IsAny <Guid>()) ); }
public async void IdentifiedCommandHandler_ReturnNull_IfDuplication() { var requestManager = new Mock <IRequestManager <Guid> >(); requestManager.Setup(m => m.EnsureNotExistsAsync(It.IsAny <Guid>())); var mediator = new Mock <IMediator>(); var handler = new IdentifiedCommandHandler <Guid, string, TestRequest>(mediator.Object, requestManager.Object); var command = new IdentifiedCommand <Guid, string, TestRequest>(Guid.NewGuid(), new TestRequest()); var result = await handler.Handle(command); Assert.Null(result); }
public async Task Handler_should_not_send_command_when_delivery_already_exists() { // Arrange var fakeGuid = Guid.NewGuid(); var fakeDeliveryCommand = new IdentifiedCommand <CreateDeliveryCommand, bool>(FakeDeliveryRequest(), fakeGuid); _requestManager.Setup(x => x.ExistAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(true)); // Act var handler = new IdentifiedCommandHandler <CreateDeliveryCommand, bool>(_mediator.Object, _requestManager.Object, _logger.Object); var cancellationToken = new CancellationToken(); var result = await handler.Handle(fakeDeliveryCommand, cancellationToken); // Assert result.Should().BeFalse(); _mediator.Verify(x => x.Send(It.IsAny <IRequest <bool> >(), default), Times.Never()); }
public async void IdentifiedCommandHandler_Process_IfNew() { var requestManager = new Mock <IRequestManager <Guid> >(); requestManager.Setup(m => m.EnsureNotExistsAsync(It.IsAny <Guid>())); requestManager.Setup(m => m.CreateRequestRecordAsync(It.IsAny <Guid>())).Returns(Task.CompletedTask); var mediator = new Mock <IMediator>(); mediator.Setup(m => m.Send(It.IsAny <TestRequest>(), It.IsAny <CancellationToken>())).ReturnsAsync("Test"); var handler = new IdentifiedCommandHandler <Guid, string, TestRequest>(mediator.Object, requestManager.Object); var command = new IdentifiedCommand <Guid, string, TestRequest>(Guid.NewGuid(), new TestRequest()); var result = await handler.Handle(command); Assert.Equal("Test", result); }
public async Task Handler_sends_no_command_when_order_already_exists() { // Arrange var fakeGuid = Guid.NewGuid(); var fakeOrderCmd = new IdentifiedCommand <CreateOrderCommand, bool>(FakeOrderRequest(), fakeGuid); _requestManager.Setup(x => x.ExistAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(true)); _mediator.Setup(x => x.Send(It.IsAny <IRequest <bool> >(), default(System.Threading.CancellationToken))) .Returns(Task.FromResult(true)); //Act var handler = new IdentifiedCommandHandler <CreateOrderCommand, bool>(_mediator.Object, _requestManager.Object); var cltToken = new System.Threading.CancellationToken(); var result = await handler.Handle(fakeOrderCmd, cltToken); //Assert Assert.False(result); _mediator.Verify(x => x.Send(It.IsAny <IRequest <bool> >(), default(System.Threading.CancellationToken)), Times.Never()); }
public async Task Handler_sends_command_when_audit_not_exist() { // Arrange var fakeGuid = Guid.NewGuid(); var fakeAuditCmd = new IdentifiedCommand <CreateAuditCommand, long>(FakeAuditRequest(), fakeGuid); _requestManager.Setup(x => x.ExistAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(false)); _mediator.Setup(x => x.Send(It.IsAny <IRequest <long> >(), default(CancellationToken))) .Returns(Task.FromResult(10L)); //Act var handler = new IdentifiedCommandHandler <CreateAuditCommand, long>(_mediator.Object, _requestManager.Object, _loggerMock.Object); var cltToken = new CancellationToken(); var result = await handler.Handle(fakeAuditCmd, cltToken); //Assert Assert.True(result == 10); _mediator.Verify(x => x.Send(It.IsAny <IRequest <long> >(), default(CancellationToken)), Times.Once()); }