Ejemplo n.º 1
0
        public void Solicitacao_Cancelar_DeveFalhaAoCancelarPoisNaoInformouMotivo()
        {
            //Arrange
            Solicitacao solicitacao = _fixtureWrapper.Solicitacao.CriarSolicitacaoValida();

            solicitacao.Aprovar();

            //Act && Assert
            Assert.Throws <DomainException>(() => solicitacao.Cancelar(string.Empty));

            //Assert
            solicitacao.Historicos.Should().NotContain(h => h.StatusSolicitacao == StatusSolicitacao.Cancelada);
            solicitacao.Status.Should().Be(StatusSolicitacao.Aprovada);
        }
Ejemplo n.º 2
0
        public void Solicitacao_Cancelar_DeveCancelarSolicitacao()
        {
            //Arrange
            Solicitacao solicitacao = _fixtureWrapper.Solicitacao.CriarSolicitacaoValida();

            solicitacao.Aprovar();

            //Act
            solicitacao.Cancelar("Motivo cancelamento");

            //Assert
            solicitacao.Status.Should().Be(StatusSolicitacao.Cancelada);
            solicitacao.Historicos.Should().Contain(h => h.StatusSolicitacao == StatusSolicitacao.Aprovada);
        }
Ejemplo n.º 3
0
        public async Task Handle(SolicitacaoLocacaoCanceladaEvent message, CancellationToken cancellationToken)
        {
            Solicitacao solicitacaoParaCancelar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId);

            solicitacaoParaCancelar.Cancelar(message.MotivoCancelamento);

            _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaCancelar);

            Locacao locacaoParaCancelar = await _locacaoRepository.ObterPorSolicitacao(message.SolicitacaoId);

            locacaoParaCancelar.Cancelar();

            _locacaoRepository.AtualizarLocacao(locacaoParaCancelar);

            await _solicitacaoRepository.Commit();

            await _locacaoRepository.Commit();
        }