Projeto/Ourolux/Documentação/Normalizar Pedido

De GeoSales
Ir para navegação Ir para pesquisar

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 cadastra um pedido com observação de nota fiscal

Dado

  • Vendedor João
  • Cliente: A
  • UF Cliente: RJ

Operação

João cadastra no Pedido Y as informações do pedido normalmente e antes de finalizar o pedido ele clica no botão de observação aonde ele vê os campos de observação normal e observação de nota fiscal aonde ele insere a observação "Essa nota deverá ser emitida efetivamente se ocorrer devolução da mercadoria ao consignante".

Assertivas

Pedido Y foi salvo e tem em seu campo de observação de nota fiscal o valor: "Essa nota deverá ser emitida efetivamente se ocorrer devolução da mercadoria ao consignante"

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:

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?