Aviso: Este artigo ainda é um rascunho!
Referenciado por: Roteiro de Testes - Totali Backoffice |
Teste Funcional ? Operações em Conta Corrente, Faturamento, Restrições do cliente e Recebimento
Ambiente
No Totali Config >> Parceiros >> Conta corrente, ter uma conta corrente (C/C 1) com "Dias para retorno = 10", e desmarcados os campos "Complemento" e "Aceitar informar outro cliente na venda";
Ter outra conta corrente (C/C 2) com "Dias para retorno = 0", e com os campos "Complemento" e "Aceitar informar outro cliente na venda" marcados;
No BackOffice >> Tabelas >> Planos, ter um plano com configuração de um plano "A VISTA", e com opção "Contas Correntes" habilitada na paleta "Meios de pagamento" (usar esse plano para todas as vendas a seguir);
Ter um usuário para Checkout, com permissões para operar caixa e efetuar operações de conta corrente; Ter um cliente novo (cliente A), pessoa física, com as seguintes definições: Na paleta "Financeiro", crédito de 3.000,00;
Na paleta "Conta Corrente", limite de 0,00 (zero) para C/C 1, e 3.000,00 para C/C 2; Na mesma paleta, definir o dia de Vencimento de Faturamento do C/C 1 e C/C 2 como o dia corrente do mês. Por exemplo, se hoje são 13/11/2003, informar 13;
Ter outro cliente pessoa jurídica (cliente B), com as definições :
Na paleta "Financeiro", crédito de 10.000,00;
Na paleta "Conta Corrente", limite de 6.000,00 para C/C 1, e 3.000,00 para C/C 2;
Definir dois dias de Vencimento de Faturamento do C/C 1 conforme resultado do SELECT abaixo. No vencimento do C/C 2, informar apenas o dia corrente;
SELECT TO_CHAR(AGORA()-20, 'DD') AS VENCIMENTOS FROM DUAL UNION ALL SELECT TO_CHAR(ADD_DAY(AGORA(),-5),?DD/MM/YYYY?) AS VENC FROM DUAL ORDER BY VENCIMENTOS
Anotar o CPF e CNPJ dos dois clientes;
Ter Checkout em modo "Posto" configurado e carga atualizada, com transações (principalmente vendas) subindo para o banco sem gerar inválidas. Definir o caminho de requisição (path A) separado do caminho de integração das vendas (path B) do Checkout. Para isso, altere no Totali Config >> Outros >> Filiais;
Checkout Server ativado e configurado para verificar o path A e o path B.
Teste
Carregar o Checkout, e entrar com usuário operador de caixa;
No Checkout Server, desativar a verificação dos scripts de venda do Checkout. Para isso basta desmarcar o Checkbox Continuar processando na paleta Configurações;
Efetuar 03 vendas (venda A1, A2 e A3) para cliente A. Receber em conta corrente C/C 2, e na tela Dados do recebimento que deverá aparecer, informar o próprio cliente A. Os Dados complementares do recebimento poderão ser preenchidos com qualquer coisa. Como está off-line, nas mensagens de consulta a banco de dados, teclar Esc e passar a senha para que possa concluir a venda;
Obs. Para essas vendas e todas as demais que seguem abaixo, use um valor diferente do outro, e entre 100,00 a 1.000,00 para facilitar a identificação. Anotar sempre o número do documento e o valor de cada venda. Procurar no path B os scripts de vendas gerados pelo Checkout (arquivos que iniciam com cf, e tem no cabeçalho TIPOPE = VEN"), e através de um editor de texto padrão ASCII (Bloco de notas, por exemplo), alterar todas as datas contidas no script para uma data anterior a atual, conforme abaixo. Para facilitar, use o recurso Substituir do seu editor.
Por exemplo, na venda A1, se HOJE são 17/11/2003, informe Pesquisar = 17/11 e Substituir por = 07/11.Venda A1 = HOJE - 10 Venda A2 = HOJE - 8 Venda A3 = HOJE - 6 Colocar on-line o Checkout Server, e conferir se todos os scripts subiram normalmente ao banco de dados. Depois, verificar o saldo da C/C 2 desse cliente no Cadastro de Parceiros;
No Checkout, pesquisar os débitos do cliente A na tela de Recebimento de Débitos (tecle F5 - A). Baixar o débito correspondente a Venda A2 (receber em dinheiro). Conferir se a transação subiu ao banco de dados, e em seguida verificar o saldo da C/C 2;
Colocar novamente off-line o Checkout Server, e efetuar outra venda (venda A4) em C/C 2 para cliente A, porém informando o cliente B no Dados do recebimento;
Efetuar outras novas 03 vendas (venda B1, B2 e B3), mas agora para o cliente B. Usar novamente C/C 2, informando o mesmo cliente B em Dados do recebimento. Anotar sempre os valores;
Editar os arquivos de script das vendas, e alterar todas as datas conforme abaixo;
Venda A4 = HOJE - 5 Venda B1, B2 e B3 = HOJE - 14 Colocar o Checkout Server on-line, e conferir se todas as transações subiram válidas para o banco de dados. Em seguida, verificar o saldo do cliente A e do cliente B no Cadastro de Parceiros;
Na tela de Recebimento de Débitos do Checkout, verificar a data e o valor de cada débito do cliente B, e em seguida receber em grupo os débitos correspondentes a vendas B1 e B2 (marcar e baixar juntos). Após conferir se não ocorreu nenhuma transação inválida, pesquisar os débitos na mesma tela, e conferir os valores e o saldo;
Novamente colocar off-line no Checkout Server, e efetuar 05 vendas (venda Z1, Z2, Z3, Z4 e Z5) para o cliente B, porém dessa vez em conta corrente C/C 1. Anotar os valores. Editar os arquivos de script das vendas, e em cada um deles alterar todas as datas contidas para HOJE - 30;
Colocar o Checkout Server on-line, e conferir se subiram válidas. Voltar no Checkout, e cancelar a venda Z5 (tecle F5 - Z);
Verificar os débitos do cliente B na tela de Recebimento de Débitos, e baixar (em dinheiro) o débito correspondente a venda Z2;
Resultado Esperado
ÿ solicitado pelo teste funcional que tenhamos um cliente com duas contas correntes diferentes cadastradas na guia Conta Corrente do cadastro de parceiros. Realizando as vendas para ambas as contas correntes os valores da coluna saldo são somados corretamente, mas ao efetuar um cancelamento pelo Totali Checkout ou utilizando o Totali BackOffice o sistema esta retirando o valor da venda da conta corrente.
Exemplo
Posição Inicial do TESTE
Conta Corrente Limite Saldo C/C 01 10.000,00 -2.991,50 C/C 02 3.000,00 -1.481,50
Esta é a posição depois que é feito o cancelamento da venda. Para visualizar isso deve-se consulta a guia de conta-corrente no Form de cadastro de parceiros. Outro detalhe importante é que o campo STATUS da tabela TT_CCC fica como F e na TRIGGER existe um tratamento para que os registro que tenham este campo (STATUS) com F não possam ser alterados para outra situação.