public void QuandoConsultaCotacaoDeFornecedoresQueNaoInformaramCotacaoRetornaDadosEsperados()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComFornecedor();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);

            FornecedorParticipante fornecedorParticipante = processo.FornecedoresParticipantes.Single();
            Fornecedor             fornecedor             = fornecedorParticipante.Fornecedor;


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

            IList <CotacaoSelecionarVm> cotacoes = consulta.CotacoesDosFornecedores(processo.Id);

            Assert.AreEqual(1, cotacoes.Count);
            var cotacaoSelecionarVm = cotacoes.Single();

            Assert.AreEqual(fornecedor.Cnpj, cotacaoSelecionarVm.Cnpj);
            Assert.AreEqual(fornecedor.Nome, cotacaoSelecionarVm.Fornecedor);
            Assert.AreEqual(fornecedor.Codigo, cotacaoSelecionarVm.CodigoFornecedor);
            Assert.AreEqual(0, cotacaoSelecionarVm.IdCotacao);
            Assert.AreEqual(0, cotacaoSelecionarVm.IdProcessoCotacaoItem);
            Assert.IsFalse(cotacaoSelecionarVm.Selecionada);
            Assert.IsNull(cotacaoSelecionarVm.QuantidadeAdquirida);
            Assert.IsNull(cotacaoSelecionarVm.QuantidadeDisponivel);
            Assert.IsNull(cotacaoSelecionarVm.ValorComImpostos);
            Assert.IsNull(cotacaoSelecionarVm.ObservacaoDoFornecedor);
        }
        public void QuandoCrioUmProcessoDeCotacaoDeFreteAsPropriedadesFicamCorretas()
        {
            Produto         produto             = DefaultObjects.ObtemProdutoPadrao();
            UnidadeDeMedida unidadeDeMedida     = DefaultObjects.ObtemUnidadeDeMedidaPadrao();
            Itinerario      itinerario          = DefaultObjects.ObtemItinerarioPadrao();
            var             dataLimiteDeRetorno = DateTime.Today.AddDays(10);
            var             dataValidadeInicial = DateTime.Today.AddMonths(1);
            var             dataValidadeFinal   = DateTime.Today.AddMonths(2);
            var             processo            = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Fretes",
                                                                               "10001", dataLimiteDeRetorno, dataValidadeInicial, dataValidadeFinal, itinerario);

            processo.AdicionarItem(produto, 100, unidadeDeMedida);

            var item = processo.Itens.First();

            //Assert.AreSame(produto, processo.Produto);
            //Assert.AreEqual(100, processo.Quantidade);
            //Assert.AreSame(unidadeDeMedida, processo.UnidadeDeMedida);
            Assert.AreSame(produto, item.Produto);
            Assert.AreEqual(100, item.Quantidade);
            Assert.AreSame(unidadeDeMedida, item.UnidadeDeMedida);

            Assert.AreEqual("Requisitos do Processo de Cotação de Fretes", processo.Requisitos);
            Assert.AreEqual("10001", processo.NumeroDoContrato);
            Assert.AreEqual(dataLimiteDeRetorno, processo.DataLimiteDeRetorno);
            Assert.AreEqual(dataValidadeInicial, processo.DataDeValidadeInicial);
            Assert.AreEqual(dataValidadeFinal, processo.DataDeValidadeFinal);
            Assert.AreSame(itinerario, processo.Itinerario);
        }
        public void QuandoTentarAbrirUmProcessoDeCotacaoQueJaEstaAbertoDeveGerarExcecao()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComFornecedor();

            processoDeCotacao.Abrir(DefaultObjects.ObtemUsuarioPadrao());
            processoDeCotacao.Abrir(DefaultObjects.ObtemUsuarioPadrao());
        }
        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 static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteFechado()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = ObtemProcessoDeCotacaoDeFreteComCotacaoSelecionada();

            processoDeCotacao.Fechar();
            return(processoDeCotacao);
        }
        public void QuandoFornecedorNaoPreencheuACotacaoNaoEnviaEmailAoFecharProcessoDeCotacao()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComFornecedor();

            _geradorDeEmail.GerarEmail(processoDeCotacao);
            _emailServiceMock.Verify(x => x.Enviar(It.IsAny <string>(), It.IsAny <MensagemDeEmail>()), Times.Never());
        }
        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 static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComFornecedor()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = ObtemProcessoDeCotacaoDeFrete();

            processoDeCotacao.AdicionarFornecedor(ObtemFornecedorPadrao());
            processoDeCotacao.Abrir(ObtemUsuarioPadrao());
            return(processoDeCotacao);
        }
        public void QuandoCotacaoNaoForSelecionadaEnviaEmailDeeCotacaoNaoSelecionada()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCotacaoNaoSelecionada();

            _geradorDeEmail.GerarEmail(processoDeCotacao);
            _emailServiceMock.Verify(x => x.Enviar(It.IsAny <string>(), It.IsAny <MensagemDeEmail>()), Times.Once());
            _geradorDeMensagemDeEmailMock.Verify(x => x.FornecedoresNaoSelecionadosNoProcessoDeCotacao(It.IsAny <Cotacao>()), Times.Once());
        }
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComCotacaoSelecionada()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = ObtemProcessoDeCotacaoDeFreteComCotacaoNaoSelecionada();
            var cotacaoItem = (CotacaoFreteItem)processoDeCotacao.FornecedoresParticipantes.First().Cotacao.Itens.First();

            cotacaoItem.Selecionar(9);
            return(processoDeCotacao);
        }
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(Produto produto)
        {
            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", "1000", DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), ObtemItinerarioPadrao());

            processo.AdicionarItem(produto, 100, ObtemUnidadeDeMedidaPadrao());
            return(processo);
        }
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteSemNumeroDeContrato()
        {
            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", null, DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), ObtemItinerarioPadrao());

            processo.AdicionarItem(ObtemProdutoPadrao(), 100, ObtemUnidadeDeMedidaPadrao());
            return(processo);
        }
        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 static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComCotacaoNaoSelecionada()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = ObtemProcessoDeCotacaoDeFrete();
            Fornecedor fornecedor = ObtemFornecedorPadrao();

            processoDeCotacao.AdicionarFornecedor(fornecedor);
            processoDeCotacao.Abrir(ObtemUsuarioPadrao());
            processoDeCotacao.InformarCotacao(fornecedor.Codigo, 100, 10, "teste");
            return(processoDeCotacao);
        }
        public void ConsigoConsultarOsDadosDeUmProcesso()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFrete();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);

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

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

            Assert.IsNotNull(viewModel);
        }
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComCadastrosExistentes()
        {
            var produto         = new Produto("000000000000000007", "BORRA NEUTRALIZADA DE SOJA", "FERT");
            var unidadeDeMedida = new UnidadeDeMedida("TON", "TON", "Toneladas");
            var itinerario      = new Itinerario("010330", "RS Rio Grande -> BA Formosa Do Rio Preto");

            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", null, DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), itinerario);

            processo.AdicionarItem(produto, 100, unidadeDeMedida);

            return(processo);
        }
        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);
        }
Beispiel #18
0
        public ProcessoDeCotacaoDeFrete CriarProcesso(string requisitos, string numeroDoContrato, DateTime dataLimiteDeRetorno, DateTime dataDeValidadeInicial,
                                                      DateTime dataDeValidadeFinal, Itinerario itinerario)
        {
            var processoDeCotacao = new ProcessoDeCotacaoDeFrete(requisitos, numeroDoContrato, dataLimiteDeRetorno, dataDeValidadeInicial, dataDeValidadeFinal, itinerario);

            if (_itens.Count == 0)
            {
                throw new ProcessoDeCotacaoSemItemException();
            }
            foreach (var item in _itens)
            {
                processoDeCotacao.AdicionarItem(item.Produto, item.Quantidade, item.UnidadeDeMedida);
            }
            return(processoDeCotacao);
        }
Beispiel #19
0
        public static void PersistirProcessoDeCotacaoDeFrete(ProcessoDeCotacaoDeFrete processo)
        {
            try
            {
                bool controlarTransacao = !Session.Transaction.IsActive;
                if (controlarTransacao)
                {
                    Session.BeginTransaction();
                }

                if (processo.Comprador != null)
                {
                    PersistirUsuario(processo.Comprador);
                }


                foreach (var fornecedorParticipante in processo.FornecedoresParticipantes)
                {
                    PersistirFornecedor(fornecedorParticipante.Fornecedor);
                }
                var unidadesDeMedida = processo.Itens.Select(x => x.UnidadeDeMedida).Distinct();
                foreach (var unidadeDeMedida in unidadesDeMedida)
                {
                    PersistirUnidadeDeMedida(unidadeDeMedida);
                }

                PersistirItinerario(processo.Itinerario);
                var produtos = processo.Itens.Select(x => x.Produto).Distinct();
                foreach (var produto in produtos)
                {
                    PersistirProduto(produto);
                }


                Session.Save(processo);
                if (controlarTransacao)
                {
                    Session.Transaction.Commit();
                }
            }
            catch (Exception)
            {
                RollbackSessionTransaction();
                throw;
            }
        }
        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));
        }
Beispiel #21
0
        public void ConsigoEnviarMensagemDeFechamentoDoProcessoDeCotacaoDeFreteUtilizandoServico()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCadastrosExistentes();
            var fornecedor = new Fornecedor("0000101815", "AIRGAS COM E TRANSP LTDA", "*****@*****.**", "", "Passo Fundo", "RS", true);

            processo.AdicionarFornecedor(fornecedor);
            processo.Abrir(DefaultObjects.ObtemUsuarioPadrao());
            CotacaoFrete cotacaoFrete = processo.InformarCotacao(fornecedor.Codigo, 100, 110, "obs");

            processo.SelecionarCotacao(cotacaoFrete.Id, 50);
            var comunicacaoSap = ObjectFactory.GetInstance <IComunicacaoSap <ListaProcessoDeCotacaoDeFreteFechamento> >();
            //var credencialSap = ObjectFactory.GetInstance<CredencialSap>();
            var comunicaoFechamento     = new ComunicacaoFechamentoProcessoCotacaoFrete(comunicacaoSap);
            ApiResponseMessage mensagem = comunicaoFechamento.EfetuarComunicacao(processo);

            Assert.AreEqual("S", mensagem.Retorno.Codigo);
        }
        public void FiltrarUmProcessoDeCotacaoPorDescricaoDoProdutoRetornaProcessoEsperado()
        {
            RemoveQueries.RemoverProcessosDeCotacaoCadastrados();

            Produto produto1 = DefaultObjects.ObtemProdutoPadrao();
            ProcessoDeCotacaoDeFrete processoDeCotacao1 = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(produto1);
            Produto produto2 = DefaultObjects.ObtemProdutoPadrao();
            ProcessoDeCotacaoDeFrete processoDeCotacao2 = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(produto2);

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao1);
            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao2);

            UnitOfWorkNh.Session.Clear();

            var processosDeCotacao = ObjectFactory.GetInstance <IProcessosDeCotacao>();
            IList <ProcessoDeCotacao> processosConsultados = processosDeCotacao.DescricaoDoProdutoContendo(produto2.Descricao).List();

            Assert.AreEqual(1, processosConsultados.Count());
            Assert.AreEqual(produto2.Descricao, processosConsultados.First().Itens.First().Produto.Descricao);
        }
        public void QuandoConsultaCotacaoResumidaAposFornecedorInformarCotacaoRetornaObjetoEsperado()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao      = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCotacaoSelecionada();
            FornecedorParticipante   fornecedorParticipante = processoDeCotacao.FornecedoresParticipantes.First();
            Fornecedor fornecedor = fornecedorParticipante.Fornecedor;

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao);

            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("Sim", processoCotacaoFornecedorVm.Selecionado);
            Assert.AreEqual("Não", processoCotacaoFornecedorVm.VisualizadoPeloFornecedor);
        }
        public void ConsigoConsultarCotacaoResumidaDosFornecedoresDeUmProcessoDeCotacaoDeFrete()
        {
            ProcessoDeCotacaoDeFrete processo = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComCotacaoNaoSelecionada();

            DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processo);
            FornecedorParticipante fornecedorParticipante = processo.FornecedoresParticipantes.Single();
            Fornecedor             fornecedor             = fornecedorParticipante.Fornecedor;
            CotacaoItem            cotacaoItem            = fornecedorParticipante.Cotacao.Itens.Single();

            var         consulta    = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeFrete>();
            KendoGridVm kendoGridVm = consulta.CotacoesDosFornecedoresResumido(processo.Id);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
            ProcessoCotacaoFornecedorVm vm = kendoGridVm.Registros.Cast <ProcessoCotacaoFornecedorVm>().Single();

            Assert.AreEqual(fornecedor.Codigo, vm.Codigo);
            Assert.AreEqual(fornecedor.Nome, vm.Nome);
            Assert.AreEqual(fornecedorParticipante.Id, vm.IdFornecedorParticipante);
            Assert.AreEqual(cotacaoItem.QuantidadeDisponivel, vm.QuantidadeDisponivel);
            Assert.AreEqual("Não", vm.Selecionado);
            Assert.AreEqual(cotacaoItem.ValorComImpostos, vm.ValorComImpostos);
            Assert.AreEqual(cotacaoItem.Preco, vm.ValorLiquido);
        }
        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");
        }
        public void QuandoTentarFecharUmProcessoDeCotacaoQueJaEstaFechadoDeveGerarExcecao()
        {
            ProcessoDeCotacaoDeFrete processoDeCotacao = DefaultObjects.ObtemProcessoDeCotacaoDeFreteFechado();

            processoDeCotacao.Fechar();
        }