/// <summary> /// Exporta os registros de teste e retorna o caminho do arquivo gerado /// </summary> /// <returns></returns> public string Exportar() { ILeiaute leiaute = GetLeiaute(); Synchronize.Export.ExportarParaArquivo exportar = new Export.ExportarParaArquivo(leiaute, leiaute.PadraoNomeArquivo); PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); exportar.Where = new Where { {"fat_Lan.GUID = @g", new Unimake.Data.Generic.Parameter{ ParameterName = "@g", Value = pvTest.GUID } }}; exportar.Salvar(); return exportar.FileInfo.DirectoryName; }
/// <summary> /// Exporta os registros de teste e retorna o caminho do arquivo gerado /// </summary> /// <returns></returns> public string Exportar() { ILeiaute leiaute = GetLeiaute(); Synchronize.Export.ExportarParaArquivo exportar = new Export.ExportarParaArquivo(leiaute, leiaute.PadraoNomeArquivo); PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); IPreVenda pv = new Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda(pvTest.GUID); pv.Cancelar("Teste de Cancelamento"); exportar.Where = new Where { {"fat_LanCan.GUIDLan = @g", new Unimake.Data.Generic.Parameter{ ParameterName = "@g", Value = pvTest.GUID } }}; exportar.Salvar(); return exportar.FileInfo.DirectoryName; }
public void RegraEstadoClienteTest() { //------------------------------------------------------------------------- // Gravar um pré-venda para utilizar durante o teste //------------------------------------------------------------------------- PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); PreVenda pv = pvTest.PreVenda; //------------------------------------------------------------------------- // Criar um regra por estado e cliente //------------------------------------------------------------------------- DescontoRegra oRegDesc = new DescontoRegra(); oRegDesc.Descricao = "Primeira Regra Desconto"; oRegDesc.TipoValor = TipoValor.Percentual; oRegDesc.Valor = 10; oRegDesc.Filtros = new List<IDescontoRegraFiltro>{ new DescontoRegraFiltro{ Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado, Cliente = pv.DadoPessoa.Cliente as ICliente } }; GUID = oRegDesc.Save(); Model.Faturamento.Lancamento.Movimento.Item.IItem item = pv.Itens[0]; double old = item.ValorTotalLiquido; //------------------------------------------------------------------------- // Buscar um desconto pelo estado //------------------------------------------------------------------------- RegraDescontoResult result = new CalcularDesconto(pv, item).ExecutarRegra( new RegraDescontoFilter { Cliente = new OpenPOS.Data.Cadastro.Pessoa.Cliente { GUID = Guid.NewGuid().ToString() }, Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado }); Assert.AreEqual(old, item.ValorTotalLiquido); result = new CalcularDesconto(pv, pv.Itens[0]).ExecutarRegra( new RegraDescontoFilter { Cliente = pv.DadoPessoa.Cliente as ICliente, Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado }); Assert.AreNotEqual(old, item.ValorTotalLiquido); }
public override void Gravar() { #region Impressora //criar uma impressora ImpressoraTest imprTest = new ImpressoraTest(); imprTest.Gravar(); IImpressora impressora = new Impressora(imprTest.GUID); #endregion #region Regsitro 01 Registro01 r01 = new Registro01(); r01.Impressora = impressora; r01.TipoECF = "TipoECF"; r01.MarcaECF = "MarcaECF"; r01.VersaoSB = "VesaoSB"; r01.DataInstalacaoSB = DateTime.Today; r01.HoraInstalacaoSB = DateTime.Now; r01.NumeroSequenciaECF = 1; r01.CNPJEmitente = "04141174000125"; r01.IEEmitente = "1234567890"; r01.CNPJSoftwareHouse = "04141174000125"; r01.IESoftwareHouse = "InscEstSoftHouse"; r01.InscrMunicipalSoftwareHouse = "InscMunSoftHouse"; r01.DenominacaoSoftwareHouse = "DenominacaoSoftHouse"; r01.NomePAFECF = "NomePAFECF"; r01.VersaoPAFECF = "VersaoPAFECF"; r01.CodigoMD5PAFECF = "CodMD5PAFECF"; r01.DataCriacao = DateTime.Today; r01.VersaoEspecReqPAFECF = "VersaoEspReqPAFECF"; #endregion #region Registro 02 Registro02 r02 = new Registro02(); r02.CRZ = 1; r02.COO = 1; r02.CRO = 1; r02.DataMovimento = DateTime.Today; r02.DataHoraEmissao = DateTime.Now; r02.VendaBrutaDiaria = new Random().NextDouble(500); r02.ParametroECFISSQN = false; r02.Registros03.Add(new Registro03() { ValorAcumulado = new Random().NextDouble(500), TotalizadorParcial = "T1800" }); r02.Registros03.Add(new Registro03() { ValorAcumulado = new Random().NextDouble(500), TotalizadorParcial = "F1800" }); r02.MeiosPagamentos.Add(new Registro02MeiosPagto { FormaPagamento = "Dinheiro", Indice = 1, ValorAcumulado = new Random().NextDouble(500), }); r02.MeiosPagamentos.Add(new Registro02MeiosPagto { FormaPagamento = "Cartao", Indice = 2, ValorAcumulado = new Random().NextDouble(500), }); r01.RegistrosR2.Add(r02); #endregion #region Registro 04 #region Movimento PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); IMovimento movimento = new PreVenda(pvTest.GUID); #endregion Registro04 r04 = new Registro04(); r04.Movimento = movimento; r04.NumeroFabricacao = "p_NumeroFabricacao"; r04.MFAdicional = "p_MFAdicional"; r04.ModeloECF = "p_ModeloECF"; r04.NumeroUsuario = 1; r04.CCF = 1; r04.COO = 2; r04.DataEmissao = DateTime.Today; r04.ValorSubtotal = new Random().NextDouble(50); r04.ValorDescontoSubtotal = new Random().NextDouble(50); r04.TipoDescontoSubtotal = IndicadorTipo.Monetario; r04.ValorAcrescimoSubtotal = new Random().NextDouble(50); r04.TipoAcrescimoSubtotal = IndicadorTipo.Percentual; r04.ValorTotalLiquido = new Random().NextDouble(50); r04.Cancelado = IndicadorCancelamento.Nao; r04.ValorCancelamentoAcrescimoSubtotal = new Random().NextDouble(50); r04.OrdemDescontoAcrescimo = IndicadorOrdem.Desconto; r04.NomeAdquirente = "Marcelo"; r04.CPFCNPJAdquirente = "25806756807"; //adicionar registros05 r04.Registros05.Add(new Registro05 { ItemMovimentado = movimento.Itens[0], NumeroFabricacao = "NumeroFabricacao", MFAdicional = "MFAdicional", ModeloECF = "ModeloECF", NumeroUsuario = 1, COO = 1, CCF = 1, NumeroItem = 1, CodigoTotalalizadorParcial = "CodigoTotalalizadorParcial", Cancelado = IndicadorCancelamento.Nao, QuantidadeCancelada = new Random().NextDouble(50), ValorCancelado = new Random().NextDouble(50), ValorCancelamentoAcrescimo = new Random().NextDouble(50), IndicadorTruncamento = IndicadorTruncamento.Arredondamento, IndicadorProducao = IndicadorProducao.Proprio, QuantidadeCasaDecimal = 2, QuantidadeCasaDecimalVlrUnit = 2, SituacaoTributaria = SituacaoTributaria.Isento }); r01.RegistrosR4.Add(r04); #endregion #region Registro 06 Registro06 r06 = new Registro06(); r06.NumeroFabricacao = "p_NumeroFabricacao"; r06.MFAdicional = "p_MFAdicional"; r06.ModeloECF = "p_ModeloECF"; r06.NumeroUsuario = 1; r06.COO = 2; r06.GNF = 1; r06.GRC = 1; r06.Denominacao = SimboloDenominacao.ComprovanteCreditoDebito; r06.DataFinalEmissao = DateTime.Today; r06.HoraFinalEmissao = DateTime.Today; //adicionar registros07 r06.Registros07.Add(new Registro07() { COO = 1, CCF = 1, GNF = 1, //TODO: Quando implementar a baixa, colocar neste teste //BaixaForma IndicadorEstorno = IndicadorEstorno.Nao, ValorEstornado = new Random().NextDouble(50) }); r01.RegistrosR6.Add(r06); #endregion GUID = r01.Save(); }
public void ExcecaoTest() { #region gravar a pré-venda //------------------------------------------------------------------------- // Gravar um pré-venda para utilizar durante o teste //------------------------------------------------------------------------- PreVendaTest pvTest = new PreVendaTest(); pvTest.Gravar(); PreVenda pv = pvTest.PreVenda; IEstado estado = RegraDescontoTest.NovoEstado(); //------------------------------------------------------------------------- // Modificar o estado do movimento //------------------------------------------------------------------------- pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado = estado; #endregion #region gravar a regra //------------------------------------------------------------------------- // Criar um regra por estado e cliente //------------------------------------------------------------------------- DescontoRegra oRegDesc = new DescontoRegra(); oRegDesc.Descricao = "Primeira Regra Desconto"; oRegDesc.TipoValor = TipoValor.Percentual; oRegDesc.Valor = 10; oRegDesc.Filtros = new List<IDescontoRegraFiltro>{ new DescontoRegraFiltro{ Estado = estado, } }; GUID = oRegDesc.Save(); #endregion #region aqui existe desconto Model.Faturamento.Lancamento.Movimento.Item.IItem item = pv.Itens[0]; double old = item.ValorTotalLiquido; //------------------------------------------------------------------------- // Buscar um desconto pelo estado //------------------------------------------------------------------------- RegraDescontoResult result = new CalcularDesconto(pv, item).ExecutarRegra( new RegraDescontoFilter { Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado }); //o desconto foi aplicado Assert.AreNotEqual(old, item.ValorTotalLiquido); #endregion #region exceção pelo cliente //------------------------------------------------------------------------- // Agora iremos informar a regra que o cliente é exceção //------------------------------------------------------------------------- oRegDesc.Excecoes.Add(new DescontoRegraExcecao { Cliente = pv.DadoPessoa.Cliente as ICliente }); oRegDesc.Save(); old = item.ValorTotalLiquido; result = new CalcularDesconto(pv, pv.Itens[0]).ExecutarRegra( new RegraDescontoFilter { Estado = pv.DadoPessoa.Cliente.Enderecos[0].Endereco.Estado }); //------------------------------------------------------------------------- // Não pode ter havido desconto, pois o cliente é uma exceção //------------------------------------------------------------------------- Assert.AreEqual(old, item.ValorTotalLiquido); #endregion }
public override void Gravar() { //------------------------------------------------------------------------- // Como teste pode recuperar qualquer ECF //------------------------------------------------------------------------- IUnidade un = new Unidade().Find()[0] as IUnidade; IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = 1 })[0]; VendaCF v = new VendaCF(); v.QuantidadeVolume = 2; v.TabelaPreco = new Data.Cadastro.TabelaPreco.TabelaPreco(Settings.TabelaPrecoCupomPadrao.GUID); v.DadoPessoa = new DadoPessoa { Cliente = Settings.ConsumidorFinal }; v.EmissorCupom = Settings.UsuarioAtual; // TODO: Voltar ao normal v.AbreFechaCaixa = new AbreCaixa().Find<AbreCaixa>().FirstOrDefault().CaixaAberto(); Acabado = v.TabelaPreco.Itens.FirstOrDefault().Item as IAcabado; v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item { Quantidade = new Random().NextDouble(15, 50), ValorUnitarioBruto = new Random().NextDouble(15, 50), DescricaoNF = "Produto de teste um", SituacaoTributaria = SituacaoTributaria.ISSQN, ItemMovimentado = Acabado, Unidade = un, Vendedor = vendedor, Conferido = true, TabelaPreco = v.TabelaPreco }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item { Quantidade = new Random().NextDouble(15, 50), ValorUnitarioBruto = new Random().NextDouble(15, 50), DescricaoNF = "Produto de teste dois", SituacaoTributaria = SituacaoTributaria.Cancelamento, ItemMovimentado = Acabado, Unidade = un, Vendedor = vendedor, Conferido = true, TabelaPreco = v.TabelaPreco }); v.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item { Quantidade = new Random().NextDouble(15, 50), ValorUnitarioBruto = new Random().NextDouble(15, 50), DescricaoNF = "Produto de teste tres", SituacaoTributaria = "18,00", ItemMovimentado = Acabado, Unidade = un, Vendedor = vendedor, Conferido = true, TabelaPreco = v.TabelaPreco }); #region Movimento vinculado PreVendaTest pvt = new PreVendaTest(); pvt.Gravar(); v.MovimentosVinculados.Add(new PreVenda(pvt.GUID)); #endregion v.NumeroOrdemECF = 123; v.NumeroSerieECF = "212lklk1kl"; v.COO = 123458; GUID = v.Save(); }