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); }
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)); }
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"); }