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 <ValidationResult> Handle(SolicitarCancelamentoLocacaoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { return(message.ValidationResult); } Solicitacao solicitacaoParaCancelar = await _solicitacaoRepository.ObterPorId(message.SolicitacaoId); if (solicitacaoParaCancelar is null) { return(await NotifyAndReturn("Solicitação não encontrada.")); } solicitacaoParaCancelar.AguardarCancelamento(); _solicitacaoRepository.AtualizarSolicitacao(solicitacaoParaCancelar); return(await SaveAndPublish(new SolicitacaoCancelamentoLocacaoEnviadaEvent(solicitacaoParaCancelar.Id, solicitacaoParaCancelar.EmpresaId))); }