public void Solicitacao_Aprovar_DeveAprovarSolicitacao() { //Arrange Solicitacao solicitacao = _fixtureWrapper.Solicitacao.CriarSolicitacaoValida(); //Act solicitacao.Aprovar(); //Assert solicitacao.Status.Should().Be(StatusSolicitacao.Aprovada); solicitacao.Historicos.Should().Contain(h => h.StatusSolicitacao == StatusSolicitacao.Aprovada); }
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); }
public void Solicitacao_AguardarCancelamento_DevePorSolicitacaoAguardoDeCancelamento() { //Arrange Solicitacao solicitacao = _fixtureWrapper.Solicitacao.CriarSolicitacaoValida(); solicitacao.Aprovar(); //Act solicitacao.AguardarCancelamento(); //Assert solicitacao.Status.Should().Be(StatusSolicitacao.AguardandoCancelamento); solicitacao.Historicos.Should().Contain(h => h.StatusSolicitacao == StatusSolicitacao.AguardandoCancelamento); }
public async Task Handle(SolicitacaoLocacaoAprovadaEvent message, CancellationToken cancellationToken) { Solicitacao solicitacaoParaAprovar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId); solicitacaoParaAprovar.Aprovar(); Locacao novaLocacao = new Locacao(solicitacaoParaAprovar.Id, solicitacaoParaAprovar.UsuarioLocatarioId, solicitacaoParaAprovar.EmpresaId, solicitacaoParaAprovar.QuadraId, solicitacaoParaAprovar.TempoTotalLocacaoSolicitado, message.InformacoesTempoQuadra); _locacaoRepository.AdicionarLocacao(novaLocacao); _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaAprovar); if (await _locacaoRepository.Commit()) { await _mediatr.Publish(new LocacaoCriadaEvent(novaLocacao.Id)); } }