public void Deve_validar_solicitacao_de_manutencao_quando_ja_reprovada() { const string mensagemEsperada = "Solicitação já analisada e está reprovada"; _solicitacaoDeManutencao = FluentBuilder <SolicitacaoDeManutencao> .New().With(solicitacao => solicitacao.StatusDaSolicitacao, StatusDaSolicitacao.Reprovada).Build(); _solicitacaoDeManutencaoRepositorio.ObterPorId(_dto.IdDaSolicitacao).Returns(_solicitacaoDeManutencao); AssertExtensions.ThrowsWithMessageAsync(() => _analiseDeAprovacaoDaSolicitacao.Analisar(_dto), mensagemEsperada); }
public AnaliseDeAprovacaoDaSolicitacaoDeManutencaoTeste() { _dto = new AnaliseDeAprovacaoDto { IdDaSolicitacao = "XPTO", AprovadorId = 1, NomeDoAprovador = "Mario" }; _solicitacaoDeManutencao = FluentBuilder <SolicitacaoDeManutencao> .New().Build(); _solicitacaoDeManutencaoRepositorio = Substitute.For <ISolicitacaoDeManutencaoRepositorio>(); _notificaReprovacaoParaSolicitante = Substitute.For <INotificaReprovacaoParaSolicitante>(); _notificaContextoDeServico = Substitute.For <INotificaContextoDeServico>(); _solicitacaoDeManutencaoRepositorio.ObterPorId(_dto.IdDaSolicitacao).Returns(_solicitacaoDeManutencao); _analiseDeAprovacaoDaSolicitacao = new AnaliseDeAprovacaoDaSolicitacaoDeManutencao( _solicitacaoDeManutencaoRepositorio, _notificaReprovacaoParaSolicitante, _notificaContextoDeServico); }
public void Analisar(AnaliseDeAprovacaoDto analiseDeAprovacaoDto) { var solicitacaoDeManutencao = _solicitacaoDeManutencaoRepositorio.ObterPorId(analiseDeAprovacaoDto.IdDaSolicitacao); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao == null, "Solicitação não encontrada"); var aprovador = new Autor(analiseDeAprovacaoDto.IdentificadorDoAprovador, analiseDeAprovacaoDto.NomeDoAprovador); if (analiseDeAprovacaoDto.Aprovado) { Aprovar(solicitacaoDeManutencao, aprovador); } else { Reprovar(solicitacaoDeManutencao, aprovador); } }
public async Task Analisar(AnaliseDeAprovacaoDto analiseDeAprovacaoDto) { var solicitacaoDeManutencao = _solicitacaoDeManutencaoRepositorio.ObterPorId(analiseDeAprovacaoDto.IdDaSolicitacao); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao == null, "Solicitação não encontrada"); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao.Reprovada(), "Solicitação já analisada e está reprovada"); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao.Aprovada(), "Solicitação já analisada e está aprovada"); var aprovador = new Autor(analiseDeAprovacaoDto.AprovadorId, analiseDeAprovacaoDto.NomeDoAprovador); if (analiseDeAprovacaoDto.Aprovado) { await Aprovar(solicitacaoDeManutencao, aprovador); } else { Reprovar(solicitacaoDeManutencao, aprovador); } }