public SolicitadorDeManutencaoTeste()
        {
            _dto = new SolicitacaoDeManutencaoDto
            {
                SubsidiariaId                 = "XPTO-ABC",
                SolicitanteId                 = 1,
                NomeDoSolicitante             = "Ricardo José",
                TipoDeSolicitacaoDeManutencao = TipoDeSolicitacaoDeManutencao.Jardinagem.GetHashCode(),
                Justificativa                 = "Grama Alta",
                NumeroDoContrato              = "2135",
                InicioDesejadoParaManutencao  = DateTime.Now.AddMonths(2)
            };
            _contratoDto = new ContratoDto
            {
                Numero              = _dto.NumeroDoContrato,
                NomeDaTerceirizada  = "Grama SA",
                GestorDoContrato    = "Edivaldo Pereira",
                CnpjDaTerceirizada  = "00000000000000",
                DataFinalDaVigencia = DateTime.Now.AddMonths(1)
            };

            _solicitacaoDeManutencaoRepositorio = Substitute.For <ISolicitacaoDeManutencaoRepositorio>();
            var subsidiariaRepositorio = Substitute.For <ISubsidiariaRepositorio>();

            _subsidiaria = FluentBuilder <Subsidiaria> .New().Build();

            subsidiariaRepositorio.ObterPorId(_dto.SubsidiariaId).Returns(_subsidiaria);
            _canceladorDeSolicitacoesDeManutencaoPendentes = Substitute.For <ICanceladorDeSolicitacoesDeManutencaoPendentes>();
            _buscadorDeContrato = Substitute.For <IBuscadorDeContrato>();
            _buscadorDeContrato.Buscar(_dto.NumeroDoContrato).Returns(_contratoDto);
            _solicitador = new SolicitadorDeManutencao(_solicitacaoDeManutencaoRepositorio, subsidiariaRepositorio, _buscadorDeContrato, _canceladorDeSolicitacoesDeManutencaoPendentes);
        }
Beispiel #2
0
 public IEnumerable <SolicitacaoDeManutencao> ObterPendentesDoTipo(
     TipoDeSolicitacaoDeManutencao tipo, Subsidiaria subsidiaria)
 {
     return(Context.Set <SolicitacaoDeManutencao>()
            .Where(entidade =>
                   entidade.TipoDeSolicitacaoDeManutencao == tipo &&
                   entidade.Subsidiaria == subsidiaria));
 }
Beispiel #3
0
        public void Deve_validar_subsidiaria()
        {
            const string mensagemEsperada = "Subsidiária é inválida";

            _subsidiaria = null;

            AssertExtensions.ThrowsWithMessage(() => CriarNovaSolicitacao(), mensagemEsperada);
        }
Beispiel #4
0
        public void Deve_criar_subsidiaria()
        {
            var subsidiariaEsperada = new
            {
                Nome = "Campo Grande",
            };

            var subsidiaria = new Subsidiaria(subsidiariaEsperada.Nome);

            subsidiariaEsperada.ToExpectedObject().ShouldMatch(subsidiaria);
        }
        public SolicitacaoDeManutencao(Subsidiaria subsidiaria,
                                       int identificadorDoSolicitante, string nomeDoSolicitante,
                                       TipoDeSolicitacaoDeManutencao tipoDeSolicitacaoDeManutencao,
                                       string justificativa,
                                       string numeroDoContrato, string nomeDaTerceirizada, string cnpjDaTerceirizada, string gestorDoContrato, DateTime dataFinalDaVigência,
                                       DateTime inicioDesejadoParaManutencao)
        {
            ExcecaoDeDominio.LancarQuando(subsidiaria == null, "Subsidiária é inválida");
            ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(justificativa), "Justificativa inválida");
            ExcecaoDeDominio.LancarQuando(inicioDesejadoParaManutencao.Date < DateTime.Now.Date, "Data do inicio desejado não pode ser inferior a data de hoje");

            Solicitante = new Solicitante(identificadorDoSolicitante, nomeDoSolicitante);
            Subsidiaria = subsidiaria;
            TipoDeSolicitacaoDeManutencao = tipoDeSolicitacaoDeManutencao;
            Justificativa = justificativa;
            Contrato      = new Contrato(numeroDoContrato, nomeDaTerceirizada, cnpjDaTerceirizada, gestorDoContrato, dataFinalDaVigência);
            InicioDesejadoParaManutencao = inicioDesejadoParaManutencao;
            DataDaSolicitacao            = DateTime.Now;
            StatusDaSolicitacao          = StatusDaSolicitacao.Pendente;
        }