Mudanças entre as edições de "Projeto/Ourolux/Documentação/Normalizar Pedido"

De GeoSales
Ir para navegação Ir para pesquisar
Linha 9: Linha 9:
  
 
== Solução imperativa ==
 
== Solução imperativa ==
 
  
  
Linha 54: Linha 53:
 
====Assertivas====
 
====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
 
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 [[Validade de sincronismo de acordo com fuso horário do vendedor#Solução declarativa|solução]] dita as regras que devem ser seguidas na criação da implementação, enquanto que a [[Validade de sincronismo de acordo com fuso horário do vendedor#Pré-detalhes da informação imperativa|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á <code>Projeto/Ourolux/Documentação/NormalizarPedido</code>, quando eu creio que deveria ser <code>Projeto/Ourolux/Documentação/Normalizar Pedido</code>, não?
 

Edição das 12h41min de 7 de dezembro de 2016

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