Projeto/Ourolux/Documentação/Normalizar Pedido
Necessidade
Cliente precisa copiar um determinado pedido. Se o pedido a ser copiado tiver alguma pendência que impeça sua criação (Ex: estoque impeditivo), este pedido precisa ser normalizado para que possa ser criado no GeoSales. A normalização do pedido garante que o pedido poderá ser copiado dentro do GeoSales.
Definição do que é um pedido normalizado
Um pedido normalizado A é a cópia de um pedido B sendo tratadas quaisquer pendências de criação, de maneira que o pedido A surja no GeoSales.
Solução declarativa
Todo pedido deve poder ser normalizado pelo GeoSales. A normalização de um pedido só não resultará na criação de um novo pedido se o pedido a ser normalizado não possuir nenhum item sem alguma pendência.
Solução imperativa
Cenários
Cenário Feliz
João normaliza um pedido que não tem nenhuma pendência
Dado
- Vendedor: João
- Pedido a ser normalizado: X
- Itens: A (com quantidade 15 e com estoque maior que 15)
Operação
João aciona o botão de normalizar pedido para normalizar o pedido X
Assertivas
Pedido X foi normalizado com sucesso e o pedido X' foi criado com o item A e com quantidade 15
Cenário com um item com alguma pendência
João normaliza um pedido que possui alguma pendência
Dado
- Vendedor: João
- Pedido a ser normalizado: X
- Itens: A (com quantidade 15 e com estoque maior que 15) e B (com quantidade 10 e com estoque menor que 10)
Operação
João aciona o botão de normalizar pedido para normalizar o pedido X
Assertivas
Pedido X foi normalizado com sucesso e o pedido X' foi criado com o item A e com quantidade 15 e sem o item B, além disso uma grid é mostrada com o item B e com a pendência de estoque impeditivo
Cenário com todos os itens com alguma pendência
João normaliza um pedido em que todos os itens possuem alguma pendência
Dado
- Vendedor: João
- Pedido a ser normalizado: X
- Itens: A (com quantidade 15 e com estoque menor que 15) e B (com quantidade 10 e com estoque menor que 10)
Operação
João aciona o botão de normalizar pedido para normalizar o pedido X
Assertivas
Pedido X foi normalizado com sucesso e o pedido X' não chegou a ser criado. Uma grid é mostrada com os itens A e B e com a pendências de estoque impeditivo
Autor?
Caras, se liguem, façam login!
É de graça e fácil
Solução vs implementação
É sempre bom definir de modo separado a solução da implementação. Por exemplo, Validade de sincronismo de acordo com fuso horário do vendedor trata essa separação, onde a solução dita as regras que devem ser seguidas na criação da implementação, enquanto que a implementação trata de detalhes de como essas regras serão tratadas em um nível mais baixo, desde distribuição dos dados, explicação da estrutura das tabelas até mudanças necessárias em consultas no sistema.
Cenário confuso
Cara, esses cenários estão pessimamente testáveis... Assim, eles não ajudam na capacidade de escrita do teste.
Para ser facilmente testável, é melhor separar o cenário em Dados, Operação e Assertiva, como nos exemplos:
- Inserção Motivo de Cadastro de Pedidos#Cenários
- Bonificação com Saldo Fixo#Cenários
- Desconto negociado#Cenários
- Observação de Nota Fiscal#Cenários
- Funcionalidade/Limite de crédito#Cenários de fluxo
Nome da página
Gentes, o nome da página está Projeto/Ourolux/Documentação/NormalizarPedido
, quando eu creio que deveria ser Projeto/Ourolux/Documentação/Normalizar Pedido
, não?