コード例 #1
0
        public void QuandoConsultarFornecedoresNaoVinculadosAoProdutoNenhumDosFornecedoresRetornadosEstaVinculadoAoProduto()
        {
            RemoveQueries.RemoverProdutosCadastrados();
            RemoveQueries.RemoverFornecedoresCadastrados();
            Session.BeginTransaction();
            var produto = DefaultObjects.ObtemProdutoPadrao();
            //CRIA 4 FORNECEDORES
            var fornecedor01 = DefaultObjects.ObtemFornecedorPadrao();
            var fornecedor02 = DefaultObjects.ObtemFornecedorPadrao();
            var fornecedor03 = DefaultObjects.ObtemFornecedorPadrao();
            var fornecedor04 = DefaultObjects.ObtemFornecedorPadrao();

            //VINCULA FORNECEDORES 1 E 2 AO PRODUTO. OS FORNECEDORES 3 E 4 NÃO SERÃO VINCULADOS
            produto.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor01, fornecedor02
            });
            Session.Save(produto);
            Session.Save(fornecedor03);
            Session.Save(fornecedor04);
            Session.Transaction.Commit();

            UnitOfWorkNh.Session.Clear();

            var fornecedores = ObjectFactory.GetInstance <IFornecedores>();

            fornecedores.FornecedoresNaoVinculadosAoProduto(produto.Codigo);
            Assert.AreEqual(2, fornecedores.Count());
            IList <Fornecedor> fornecedoresNaoVinculados = fornecedores.List();

            Assert.AreEqual(1, fornecedoresNaoVinculados.Count(x => x.Codigo == fornecedor03.Codigo));
            Assert.AreEqual(1, fornecedoresNaoVinculados.Count(x => x.Codigo == fornecedor04.Codigo));
        }
コード例 #2
0
        public void QuandoFiltraSomenteFornecedoresQueNaoSaoDeTransporteTodosFornecedoresListadosNaoSaoDeTransporte()
        {
            RemoveQueries.RemoverFornecedoresCadastrados();
            Fornecedor naoTransportadora = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor transportadora    = DefaultObjects.ObtemTransportadoraPadrao();

            DefaultPersistedObjects.PersistirFornecedor(naoTransportadora);
            DefaultPersistedObjects.PersistirFornecedor(transportadora);

            UnitOfWorkNh.Session.Clear();

            var fornecedores = ObjectFactory.GetInstance <IFornecedores>();

            IList <Fornecedor> naoTransportadoras = fornecedores.RemoveTransportadoras().List();

            Assert.AreEqual(1, naoTransportadoras.Count);

            Assert.IsFalse(naoTransportadoras.First().Transportadora);
        }
コード例 #3
0
        public void QuandoConsultarFornecedoresNaoVinculadosRetornaListaDeFornecedores()
        {
            RemoveQueries.RemoverFornecedoresCadastrados();
            Produto    produto      = DefaultObjects.ObtemProdutoPadrao();
            Fornecedor fornecedor01 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor02 = DefaultObjects.ObtemFornecedorPadrao();

            produto.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor01, fornecedor02
            });
            Fornecedor fornecedor03 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor04 = DefaultObjects.ObtemFornecedorPadrao();

            DefaultPersistedObjects.PersistirProduto(produto);
            DefaultPersistedObjects.PersistirFornecedor(fornecedor03);
            DefaultPersistedObjects.PersistirFornecedor(fornecedor04);

            UnitOfWorkNh.Session.Clear();

            var consultaFornecedores = ObjectFactory.GetInstance <IConsultaFornecedor>();

            var paginacaoVm = new PaginacaoVm()
            {
                Page     = 1,
                PageSize = 10,
                Take     = 10
            };

            var filtro = new FornecedorDoProdutoFiltro()
            {
                CodigoDosProdutos = new[] { produto.Codigo }
            };
            var kendoGridVm = consultaFornecedores.FornecedoresNaoVinculadosAoProduto(paginacaoVm, filtro);

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
            var viewModels = kendoGridVm.Registros.Cast <FornecedorCadastroVm>().ToList();

            Assert.AreEqual(1, viewModels.Count(x => x.Codigo == fornecedor03.Codigo));
            Assert.AreEqual(1, viewModels.Count(x => x.Codigo == fornecedor04.Codigo));
        }
コード例 #4
0
        public void QuandoConsultaFornecedoresNaoVinculadosAUmaListaDeProdutosNenhumDosFornecedoresRetornadosEstaVinculadoAAlgumProdutoDaLista()
        {
            RemoveQueries.RemoverProdutosCadastrados();
            RemoveQueries.RemoverFornecedoresCadastrados();
            //cenário:
            //três fornecedores e três produtos: Os fornecedores 1 e 2 estão ligados aos produtos 1 e 2. Já o fornecedor 3 está ligado ao produto 3 .
            //vou passsar na lista de produtos, apenas os produtos 1 e 2. Deve retornar na lista de fornecedores apenas o fornecedor 3, que embora
            //esteja ligado ao produto 3, não está ligado a nenhum dos produtos da lista (1, 2).
            Produto produto1 = DefaultObjects.ObtemProdutoPadrao();
            Produto produto2 = DefaultObjects.ObtemProdutoPadrao();
            Produto produto3 = DefaultObjects.ObtemProdutoPadrao();

            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor3 = DefaultObjects.ObtemFornecedorPadrao();

            produto1.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor1
            });
            produto2.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor2
            });
            produto3.AdicionarFornecedores(new List <Fornecedor> {
                fornecedor3
            });

            DefaultPersistedObjects.PersistirProduto(produto1);
            DefaultPersistedObjects.PersistirProduto(produto2);
            DefaultPersistedObjects.PersistirProduto(produto3);

            var fornecedores = ObjectFactory.GetInstance <IFornecedores>();
            IList <Fornecedor> fornecedoresNaoVinculados =
                fornecedores.FornecedoresNaoVinculadosAosProdutos(new[] { produto1.Codigo, produto2.Codigo }).List();

            Assert.AreEqual(1, fornecedoresNaoVinculados.Count);
            Assert.IsTrue(fornecedoresNaoVinculados.Any(x => x.Codigo == fornecedor3.Codigo));
        }