rocketseat-education / bootcamp-gostack-desafios

Repositório contendo todos os desafios dos módulos do Bootcamp Gostack
https://pages.rocketseat.com.br/gostack
MIT License
1.18k stars 999 forks source link

Desafio 08 - Cenário funcional não coberto pelos testes automatizados. #28

Open thadeucity opened 4 years ago

thadeucity commented 4 years ago

Não sei se é possível ajustar o teste automatizado para também aceitar o cenário abaixo, mas esse cenário falha no teste mesmo gerando um programa funcional.

Dentro do arquivo src/hooks/cart.tsx: Em const addToCart e const increment e const decrement:

O código listado abaixo resolve o desafio:

// Everything before //
setProducts(newProductList);

await AsyncStorage.setItem(
  '@GoMarketplace:products',
  JSON.stringify(newProductList),
);
// Everything after //

Porém caso o Dev prefira gravar inicialmente na memória física e só alterar o estado de produtos após essa gravação o teste falha:

// Everything before //
await AsyncStorage.setItem(
  '@GoMarketplace:products',
  JSON.stringify(newProductList),
);

setProducts(newProductList);
// Everything after //

Essencialmente para o usuário final do app ambas soluções são indistinguíveis.