- Desafio 08 onde foi desenvolvido uma nova aplicação, a GoMarketplace. Colocando em pratica o que foi aprendido até agora no React Native, junto com TypeScript, utilizando rotas, Async Storage e a Context API.
-
Após a implementação os testes devem ser executados para que possa ser avaliado todos os pontos do desafio proposto. Para esse desafio, temos os seguintes testes:
-
should be able to list the products
: Para que esse teste passe, sua aplicação deve permitir que sejam listados na sua telaDashboard
, toda os produtos que são retornadas do Fake API. Essa listagem deve exibir otitle
e oprice
que deve ser formatado utilizando a funçãoIntl
. -
should be able to add a product to the cart
: Para que esse teste passe, você deve permitir que seja possível adicionar produtos da suaDashboard
ao carrinho, utilizando o contexto decart
disponibilizado. -
should be able to list the products on the cart
: Para que esse teste passe, você deve permitir que seja possível listar os produtos que estão salvos no contexto do seu carrinho na páginaCart
, nessa página exiba o nome do produto, o subtotal total de cada produto (price * quantity). -
should be able to calculate the cart total
: Para que esse teste passe, tanto na páginaDashboard
, tanto na páginaCart
você deve exibir o valor total de todos os itens que estão no seu carrinho. -
should be able to show the total quantity of itens in the cart
: Para que esse teste passe, tanto na páginaDashboard
, tanto na páginaCart
você deve exibir o número total de itens que estão no seu carrinho. -
should be able to increment product quantity on the cart
: Para que esse teste passe, você deve permitir que seja possível incrementar a quantidade de um produto do seu carrinho, utilizando o contexto decart
disponibilizado. -
should be able to decrement product quantity on the cart
: Para que esse teste passe, você deve permitir que seja possível decrementar a quantidade de um produto do seu carrinho, utilizando o contexto decart
disponibilizado. -
should be able to navigate to the cart
: Para que esse teste passe, no seu componenteFloatingCart
na Dashboard, você deve permitir que ao clicar no botão de carrinho com o testID denavigate-to-cart-button
, o usuário seja redirecionado para a páginaCart
. -
should be able to add products to the cart
: Para que esse teste passe, no seu arquivo onde contém o contexto do carrinho, você deve permitir que a funçãoaddToCart
adicione um novo item ao carrinho. -
should be able to increment quantity
: Para que esse teste passe, no seu arquivo onde contém o contexto do carrinho, você deve permitir que a funçãoincrement
altere incremente em1
unidade a quantidade de um item que está armazenado no contexto. -
should be able to decrement quantity
: Para que esse teste passe, no seu arquivo onde contém o contexto do carrinho, você deve permitir que a funçãodecrement
altere decremente em1
unidade a quantidade de um item que está armazenado no contexto. -
should store products in AsyncStorage while adding, incrementing and decrementing
: Para que esse teste passe, no seu arquivo onde contém o contexto do carrinho você deve permitir que todas as atualizações que você fizer no carrinho, sejam salvar no AsyncStorage. Por exemplo, ao adicionar um item ao carrinho, adicione-o também no AsyncStorage. Lembre de também atualizar o valor do AsyncStorage quando você incrementar ou decrementar a quantidade de um item. -
should load products from AsyncStorage
: Para que esse teste passe, no seu arquivo onde contém o contexto do carrinho, você deve permitir que todos os produtos que foram adicionados sejam buscados do AsyncStorage.
Rocketseat!! GoStack11!! Desafio08 ReactNative!!