Ejemplo n.º 1
0
        public async Task Handle_DeleteStatementCommand_Return_True()
        {
            //arrange
            var command = new DeleteStatementCommand()
            {
                Id = Guid.NewGuid()
            };

            _mocker.GetMock<IStatementRepository>()
                .Setup(m => m.GetById(It.IsAny<Guid>()))
                .Returns(value: new Statement())
                .Verifiable("IStatementRepository.GetById should have been called");

            _mocker.GetMock<IStatementRepository>()
                .Setup(m => m.Delete(It.IsAny<Guid>()))
                .Verifiable("IStatementRepository.Update should have been called");

            _mocker.GetMock<IMediatorHandler>()
                .Setup(m => m.RaiseEvent(It.IsAny<StatementDeletedEvent>()))
                .Verifiable("An event StatementDeletedEvent should have been raised");

            //act
            var result = await _statementCommandHandler.Handle(command, CancellationToken.None);

            //assert
            _mocker.GetMock<IStatementRepository>().Verify();
            _mocker.GetMock<IMediatorHandler>().Verify();
            Assert.True(result);
        }
Ejemplo n.º 2
0
        public async Task <bool> Handle(DeleteStatementCommand request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (!request.IsValid())
            {
                await _mediatorHandler.RaiseEvent(
                    new DomainValidationEvent(request.ValidationResult.ToString()));

                return(false);
            }

            var oldStatement = _statementRepository.GetById(request.Id);

            if (oldStatement == null)
            {
                await _mediatorHandler.RaiseEvent(new NotFoundEvent(request.Id, "Statement", "Statement not found."));

                return(false);
            }

            _statementRepository.Delete(request.Id);

            await _mediatorHandler.RaiseEvent(new StatementDeletedEvent()
            {
                Old = oldStatement
            });

            return(true);
        }
Ejemplo n.º 3
0
        public async Task <Response <bool> > Delete(string id)
        {
            if (!Guid.TryParse(id, out Guid guid))
            {
                return(FailureResponse <bool>(
                           new Error("Invalid Guid"),
                           System.Net.HttpStatusCode.BadRequest));
            }

            var command = new DeleteStatementCommand();

            command.Id = guid;

            var result = await _mediatorHandler.SendCommand(command);

            if (result)
            {
                var deletedEvent = _eventStore.GetEvent <StatementDeletedEvent>();

                return(SuccessfulResponse(true, deletedEvent));
            }
            else
            {
                var validationEvent = _eventStore.GetEvent <DomainValidationEvent>();

                return(FailureResponse <bool>(validationEvent));
            }
        }
 public DeleteStatementCommandTests()
 {
     _command    = new DeleteStatementCommand();
     _command.Id = Guid.NewGuid();
 }