ecomplus / storefront

Modern and high performant headless eCommerce Storefront. PWA & JAMstack architecture ready for E-Com Plus APIs. Built with Vue.js, extensible through widgets and editable with Netlify CMS.

Home Page:https://developers.e-com.plus/storefront/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Regras de brinde sendo respeitadas apenas ao recarregar

matheusgnreis opened this issue · comments

Descreva o bug
Algumas lojas têm regras escaladas de brinde. Nesse caso, colocam a partir de X o brinde é A, a partir de Y o brinde é B e assim por diante. No entanto, isso está sendo respeitado em parte. Em Como reproduzir colocarei os exemplos.

Exemplo 1, se o cliente já está no carrinho com um brinde para produtos acima de R$ 100,00 e adiciona mais quantidades para ultrapassar R$ 200,00

Exemplo 2, se o cliente já está no carrinho com R$ 200,00 e diminui para R$ 150,00, o carrinho remove o brinde, mas não adiciona o brinde da faixa acima de R$ 100,00.

Como reproduzir
Exemplo 1

  1. Vá para o carrinho com total do carrinho de R$ 120,00
  2. O carrinho irá inserir brinde, pois está acima de R$ 100,00
  3. Adicione mais unidades de um dos produtos para ultrapassar valor de R$ 200,00 que é outra regra de brinde.
  4. Veja que o carrinho continua com o brinde antigo, não respeitando a nova regra.
    Exemplo 2
  5. Vá para o carrinho com total do carrinho de R$ 200,00
  6. O carrinho irá inserir brinde, pois está acima de R$ 200,00
  7. Retire unidades de um dos produtos para diminuir valor e ficar abaixo de R$ 200,00 que é outra regra de brinde.
  8. Veja que o carrinho retira o brinde, deixando o carrinho sem nenhum brinde, contrapondo a regra acima de R$ 100,00 ganhe brinde A

Se recarregar a página, em ambos os casos mostrará o brinde correto.

Teria como criar essa regra dos brindes na Demo Store?

@Suzei até teria, mas pra? Você pode alterar o Store ID do teste de vocês editando o arquivo @ecomplus/storefront-template/content/settings.json, já sabem disso?

@leomp12 Não sabíamos não, valeu pelo toque

Conseguiu ai @Suzei e @sameoldcarlos ? Qualquer coisa vocês falam que ajudo a configurar isso..

Queremos uma ajuda aí sim. O problema maior tá sendo reproduzir o bug, já que quando a gente cria a regra, uma de 100 e outra de 200, só a de 200 funciona. Não sei se é algo na regra de brinde da loja, mas não tá rolando

Então, mas a regra funciona assim mesmo. Se você chegar no checkout com valor total acima de 200,00. Ele aplica somente o de 200. O problema é justamente se você já estiver no carrinho com pedido acima de 100,00. Daí, aumentar o valor pelo carrinho e esse valor ultrapassar 200,00, deveria aplicar o brinde em 200 e sair a condição do brinde a 100

Como falamos ontem na call, o bug não parece estar no Storefront, mas no App de descontos e brindes.
Nos testes feitos, eu e @Suzei notamos que a requisição feita no apply_discount vai com todos os campos corretos e atualizados (inclusive o do valor da compra) em todos os casos que reproduzimos. No caso do primeiro brinde, a resposta chega correta, porém ao aumentar o valor da compra até chegar na regra maior, a resposta não acompanha atualização e chega com o brinde antigo.
O cenário que eu descrevi pode ser percebido ao inspecionar o network dessa loja. Nela adicionamos uma regra de brinde de 100 reais (Vaso para orquídeas) e outra de 200 (Boleira Vermelha).

@sameoldcarlos @Suzei na verdade acho que o erro é no Storefront sim, recarregando a página do carrinho com os R$ 200,00 ou mais o brinde maior (Boleira Vermelha) é aplicado, portanto no load da página a request no apply_discounts é correta e a resposta vem com o brinde esperado.

Quando um item é adicionado no carrinho já aberto (sem reload) a request é feita mas tem alguma(s) coisa errada já que a resposta é com o brinde menor, no exemplo que você deu de cara eu notei que nessa segunda request (na atualização do carrinho) o brinde é enviado entre os itens, isso está errado já que o desconto não é calculado considerando o produto brinde (note que isso não acontece quando você recarrega a página, só os produtos pagos são enviados no cálculo do desconto).

Estou retirando o produto, o mesmo sai da lista de brinde do carrinho, mas o desconto continua sendo aplicado, não respeitando a regra do mínimo
https://www.loom.com/share/76f091e142c3485192d5e79c4b9b8a2e

Isso é outro bug né...
Esse issue está fechado.

Ah sim, é porque estava na descrição do issue isso ai. Tipo, ele removia o brinde, mas quando aumentava a quantidade, não era re-inserido o brinde, vou abrir outro