Tabela de conteúdos

~~ODT~~

Última atualização: 2017/04/03 18:23 (edição externa)

Consultar Cartão

Nesse caso de uso, os gerentes de vendas do restaurante podem buscar os cartões de refeição. O sistema disponibiliza operações de visualizar detalhes de um cartão, bloqueio e desbloqueio, atribuição de um cartão a um usuário e de transferência de créditos.

Descrição do Caso de Uso

Este caso de uso inicia quando o usuário acessa a opção: SIPAC → Módulo Restaurante → Vendas → Controle de Cartões → Buscar Cartões.

Ao iniciar o caso de uso, o sistema disponibiliza os seguintes filtros para o usuário:

O sistema lista, de acordo com os filtros escolhidos, as seguintes informações dos cartões encontrados:

Para cada item listado, são oferecidas as seguintes ações:

O caso de uso é então finalizado.

Principais Regras de Negócio

Resoluções/Legislações Associadas

Não se aplica.

Classes Persistentes e Tabelas Envolvidas

Classe Tabela
br.ufrn.sipac.restaurante.dominio.CartaoPagamento restaurante.cartao_pagamento
br.ufrn.sipac.restaurante.dominio.CartaoPagamentoPessoa restaurante.cartao_pagamento_pessoa

Plano de Teste

Sistema: SIPAC

Módulo: Restaurante

Link(s): Vendas → Controle de Cartões → Consultar Cartão

Usuário: kmbso, abelvanderlei, nubia

Papel que usuário deve ter: PapeisRestaurante.GESTOR_RESTAURANTE_GLOBAL, PapeisRestaurante.GESTOR_VENDAS_RESTAURANTE

Cenários de Teste

  1. Fazer a busca utilizando várias combinações de filtros.
  2. Alterar cartões e verificar se os resultados da busca refletem as alterações.
  3. Alterar um cartão e visualizar as alterações na visualização de detalhes.
  4. Bloquear cartões, desbloquear cartões, associar cartões a usuários e transferir créditos.

Dados para o Teste

Algumas informações dos cartões podem ser confirmadas nos casos de usos reservados aos usuários deles:

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;