public void QuandoConsultaCotacaoResumidaAntesDoFornecedorInformarCotacaoRetornaObjetoEsperado()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao    = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();
            Fornecedor             fornecedor             = DefaultObjects.ObtemFornecedorPadrao();
            FornecedorParticipante fornecedorParticipante = processoDeCotacao.AdicionarFornecedor(fornecedor);

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao);

            UnitOfWorkNh.Session.Clear();

            var         consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>();
            KendoGridVm kendoGridVm      = consultaProcesso.CotacoesDosFornecedoresResumido(processoDeCotacao.Id);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            var processoCotacaoFornecedorVm = (ProcessoCotacaoFornecedorVm)kendoGridVm.Registros.First();

            Assert.AreEqual(fornecedorParticipante.Id, processoCotacaoFornecedorVm.IdFornecedorParticipante);
            Assert.AreEqual(fornecedor.Codigo, processoCotacaoFornecedorVm.Codigo);
            Assert.AreEqual(fornecedor.Nome, processoCotacaoFornecedorVm.Nome);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.Selecionado);
            Assert.IsNull(processoCotacaoFornecedorVm.ValorLiquido);
            Assert.IsNull(processoCotacaoFornecedorVm.ValorComImpostos);
            Assert.IsNull(processoCotacaoFornecedorVm.QuantidadeDisponivel);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.VisualizadoPeloFornecedor);
        }
        public void QuandoAtualizoUmaCotacaoDeFreteAsPropriedadesSaoAlteradas()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            Produto         produto         = DefaultObjects.ObtemProdutoPadrao();
            UnidadeDeMedida unidadeDeMedida = DefaultObjects.ObtemUnidadeDeMedidaPadrao();
            Itinerario      itinerario      = DefaultObjects.ObtemItinerarioPadrao();

            var dataLimiteDeRetorno = DateTime.Today.AddDays(15);
            var dataValidadeInicial = DateTime.Today.AddMonths(2);
            var dataValidadeFinal   = DateTime.Today.AddMonths(3);


            processo.Atualizar("requisitos alterados", "1500", dataLimiteDeRetorno,
                               dataValidadeInicial, dataValidadeFinal, itinerario);

            processo.AtualizarItem(produto, 1500, unidadeDeMedida);

            var item = processo.Itens.First();

            //Assert.AreSame(produto, processo.Produto);
            //Assert.AreEqual(1500, processo.Quantidade);
            //Assert.AreSame(unidadeDeMedida, processo.UnidadeDeMedida);
            Assert.AreSame(produto, item.Produto);
            Assert.AreEqual(1500, item.Quantidade);
            Assert.AreSame(unidadeDeMedida, item.UnidadeDeMedida);
            Assert.AreEqual("requisitos alterados", processo.Requisitos);
            Assert.AreEqual("1500", processo.NumeroDoContrato);
            Assert.AreEqual(dataLimiteDeRetorno, processo.DataLimiteDeRetorno);
            Assert.AreEqual(dataValidadeInicial, processo.DataDeValidadeInicial);
            Assert.AreEqual(dataValidadeFinal, processo.DataDeValidadeFinal);
            Assert.AreSame(itinerario, processo.Itinerario);
        }
        public void AposOProcessoDeCotacaoSerAbertoNaoEPossivelAtualizarOsDadosComplementares()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacaoDeFrete = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            processoDeCotacaoDeFrete.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao());
            processoDeCotacaoDeFrete.Abrir(DefaultObjects.ObtemUsuarioPadrao());
            processoDeCotacaoDeFrete.Atualizar("requisitos alterados", "1500", processoDeCotacaoDeFrete.DataLimiteDeRetorno.Value,
                                               processoDeCotacaoDeFrete.DataDeValidadeInicial, processoDeCotacaoDeFrete.DataDeValidadeFinal, processoDeCotacaoDeFrete.Itinerario);
        }
        public void ConsigoConsultarOsDadosDeUmProcesso()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);

            var consulta = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeFrete>();

            ProcessoCotacaoFreteCadastroVm viewModel = consulta.ConsultaProcesso(processo.Id);

            Assert.IsNotNull(viewModel);
        }
Esempio n. 5
0
        public void QuandoAdicionaIteracaoDeUsuarioOcorrePersistencia()
        {
            ProcessoDeCotacao processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();
            IList <FornecedorParticipante> fornecedoresParticipantes = new List <FornecedorParticipante>();

            fornecedoresParticipantes.Add(processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()));
            fornecedoresParticipantes.Add(processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()));

            _atualizadorDeIteracaoDoUsuario.Adicionar(fornecedoresParticipantes);

            _processoCotacaoIteracoesUsuarioMock.Verify(x => x.Save(It.IsAny <ProcessoCotacaoIteracaoUsuario>()), Times.Exactly(fornecedoresParticipantes.Count));
            CommonVerifications.VerificaCommitDeTransacao(_unitOfWorkMock);
        }
        public void ConsigoPersistirUmProcessoDeCotacaoDeFreteEConsultarPosteriormente()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);

            UnitOfWorkNh.Session.Clear();

            var processosDeCotacao = ObjectFactory.GetInstance <IProcessosDeCotacao>();
            ProcessoDeCotacao processoConsultado = processosDeCotacao.BuscaPorId(processo.Id).Single();

            Assert.IsNotNull(processoConsultado);
            Assert.AreEqual(1, processoConsultado.Itens.Count);
        }
        public void RepositorioDoProcessoDeCotacaoDeMateriasContemApenasProcessosDeCotacaoDeMaterial()
        {
            RemoveQueries.RemoverProcessosDeCotacaoCadastrados();
            //crio dois processos de cotação (um de frete e um de materiais) e persisto
            ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialNaoIniciado();
            ProcessoDeCotacaoDeFrete    processoDeCotacaoDeFrete    = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial);
            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacaoDeFrete);

            //listo todos os processsos do repositório: deve retornar apenas o processo de cotação de  material
            var processosDeCotacaoDeMaterias = ObjectFactory.GetInstance <IProcessosDeCotacaoDeMaterial>();
            var todosProcessos = processosDeCotacaoDeMaterias.List();

            Assert.AreEqual(1, todosProcessos.Count);
            Assert.IsInstanceOfType(todosProcessos.Single(), typeof(ProcessoDeCotacaoDeMaterial));
        }
Esempio n. 8
0
        public void QuandoOcorreErroAoAdicionarIteracaoDeUsuarioFazRollback()
        {
            _processoCotacaoIteracoesUsuarioMock.Setup(x => x.Save(It.IsAny <ProcessoCotacaoIteracaoUsuario>()))
            .Throws(new ExcecaoDeTeste("Erro"));

            IList <FornecedorParticipante> fornecedoresParticipantes = new List <FornecedorParticipante>();

            try
            {
                ProcessoDeCotacao processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();
                fornecedoresParticipantes.Add(processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()));
                fornecedoresParticipantes.Add(processoDeCotacao.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao()));

                _atualizadorDeIteracaoDoUsuario.Adicionar(fornecedoresParticipantes);

                Assert.Fail("Deveria ter gerado exceção.");
            }
            catch (ExcecaoDeTeste)
            {
                _processoCotacaoIteracoesUsuarioMock.Verify(x => x.Save(It.IsAny <ProcessoCotacaoIteracaoUsuario>()), Times.Once());
                CommonVerifications.VerificaRollBackDeTransacao(_unitOfWorkMock);
            }
        }
        public void ConsigoPersistirEConsultarUmProcessoDeCotacaoComCotacoes()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            Fornecedor fornecedor = DefaultObjects.ObtemFornecedorPadrao();

            processo.AdicionarFornecedor(fornecedor);

            processo.Abrir(DefaultObjects.ObtemUsuarioPadrao());
            processo.InformarCotacao(fornecedor.Codigo, 120, 100, "obs fornec");

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);

            UnitOfWorkNh.Session.Clear();

            var processosDeCotacaoDeMaterial = ObjectFactory.GetInstance <IProcessosDeCotacao>();

            Console.WriteLine("Consultando Cotacao - INICIO");
            var processoConsultado = (ProcessoDeCotacaoDeFrete)processosDeCotacaoDeMaterial.BuscaPorId(processo.Id).Single();

            Assert.AreEqual(processo.FornecedoresParticipantes.Count(x => x.Cotacao != null), processoConsultado.FornecedoresParticipantes.Count(x => x.Cotacao != null));
            Console.WriteLine("Consultando Cotacao - FIM");
        }