~~ODT~~
Saldo do Cartão do Restaurante
Esse caso de uso é utilizado por qualquer usuário do sistema com a finalidade de verificar o saldo e o extrato das últimas operações do seu cartão do restaurante.
Descrição do Caso de Uso
O caso de uso inicia quando o usuário acessa a opção SIPAC → Portal Admin. → Outros → Saldo do Cartão do Restaurante.
Se o usuário tem um cartão associado a ele, os seguintes dados são mostrados:
- Nome: Tipo - TEXTO.
- Código do cartão: Tipo NUMÉRICO.
- Tipo de Vínculo: Tipo TEXTO.
- Situação: Tipo TEXTO.
- Total de Refeições: Tipo NUMÉRICO.
- Utiliza no Café: Tipo - TEXTO.
- Créditos para Café: Tipo- NUMÉRICO.
- Utiliza no Almoço: Tipo - TEXTO.
- Créditos para Almoço: Tipo- NUMÉRICO.
- Utiliza no Jantar: Tipo - TEXTO.
- Créditos para Jantar: Tipo - NUMÉRICO.
Também é mostrada, em forma de listagem, as últimas operações realizadas relativas ao cartão, com os seguintes dados:
- Data: Formato: DD/MM/AAAA HH:MM. Tipo DATA.
- Operação: Tipo TEXTO.
- Compra de Créditos por GRU: Exibido no ato da geração da GRU.
- Compensação de Créditos por GRU: Exibido quando a GRU for compensada.
- Compra de Créditos presencial: Exibido quando a compra for feita presencial via aplicativo desktop.
- Créditos Gerados: Tipo NUMÉRICO. Total de créditos definidos na geração da GRU.
- À Receber: Tipo NUMÉRICO. Total de créditos pendentes de compensação bancária.
- Adiantados: Tipo NUMÉRICO. Total de créditos adiantados na compra.
- Compensados: Tipo NUMÉRICO. Total de créditos compensados.
- Saldo Anterior: Tipo NUMÉRICO. Saldo de créditos anteriormente à compra.
- Saldo Atual: Tipo NUMÉRICO. Saldo de créditos atuais após a operação.
Então o caso de uso é finalizado.
Principais Regras de Negócio
Não se aplica.
Resoluções/Legislações Associadas
Não se aplica.
Classes Persistentes e Tabelas Envolvidas
Classe | Tabela |
---|---|
br.ufrn.sipac.restaurante.dominio.CartaoPagamentoPessoa | restaurante.cartao_pagamento_pessoa |
br.ufrn.sipac.restaurante.dominio.CartaoPagamento | restaurante.cartao_pagamento |
Plano de Teste
Sistema: SIPAC
Módulo: Portal Administrativo
Link(s): Outros → Saldo do Cartão do Restaurante
Usuário: adelardo, kmbso. Buscar usuário usando a Consulta de Cartões.
Papel que usuário deve ter: Não se aplica.
Cenários de Teste
- Testar com usuário com cartão.
- Testar com usuário cujo histórico contenha utilizações, recargas e transferências de crédito.
- Testar com usuário sem cartão.
- Realizar operações sobre o cartão e verificar se estas são refletidas nesse caso de uso.
Dados para o Teste
- Para encontrar usuários com cartão, use a Consulta de Cartões.
- Para transferir créditos entre cartões, use Transferência de Créditos.
- Para utilizar o cartão, use Recarga de Cartão.
- Para simular uma compra de crédito, use a query a seguir:
BEGIN TRANSACTION; INSERT INTO restaurante.compra_credito (id_compra_credito, id_cartao_pagamento_pessoa, quantidade_refeicoes, valor_refeicao, total, qtd_antes, qtd_depois, ativo, numero, DATA, id_registro_entrada) VALUES ( (SELECT NEXTVAL('restaurante.compra_credito_seq')), ( SELECT id_cartao_pagamento_pessoa FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = TRUE AND codigo = 1 ), 1, 3.00, 3.00, ( SELECT credito_refeicoes FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = TRUE AND codigo = 1 ), ( SELECT credito_refeicoes + 1 FROM restaurante.cartao_pagamento_pessoa NATURAL JOIN restaurante.cartao_pagamento WHERE ativo = TRUE AND codigo = 1 ), TRUE, (SELECT COALESCE(MAX(numero) + 1, 1) FROM restaurante.compra_credito), now(), 1 ); UPDATE restaurante.cartao_pagamento_pessoa SET credito_refeicoes = credito_refeicoes + 1 WHERE id_cartao_pagamento = (SELECT id_cartao_pagamento FROM restaurante.cartao_pagamento WHERE codigo = 1); END TRANSACTION;