đ InstruçÔes do desafio | đšđ»âđš Layout do Figma
-
-
should be able to list the products
: Para que esse teste passe, sua aplicação deve permitir que sejam listados na sua tela Dashboard, todos os produtos que são retornadas do Fake API. Essa listagem deve exibir o title e o price que deve ser formatado utilizando a função Intl. -
-
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 sua Dashboard ao carrinho, utilizando o contexto de cart 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ĂĄgina Cart, nessa pĂĄgina exiba o nome do produto e o subtotal total de cada produto (price * quantity). -
-
should be able to calculate the cart total
: Para que esse teste passe, tanto na pĂĄgina Dashboard, tanto na pĂĄgina Cart vocĂȘ deve exibir o valor total de todos os itens que estĂŁo no seu carrinho. Dica: Para calcular o total de todos os itens, vocĂȘ pode utilizar o reduce para somar todos os valores e retornar o valor total. -
-
should be able to show the total quantity of itens in the cart
: Para que esse teste passe, tanto na pĂĄgina Dashboard, tanto na pĂĄgina Cart vocĂȘ deve exibir o nĂșmero total de itens que estĂŁo no seu carrinho. Dica: Para calcular o total de todos os itens, vocĂȘ pode utilizar o reduce para somar todos os valores e retornar o valor total. Dica 2: Utilize o useMemo para armazenar o valor total do carrinho que vocĂȘ calculou. -
-
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 de cart 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 de cart disponibilizado.
Dica: Ao decrementar a quantidade de um produto, nĂŁo permita que ele seja decrementado para um valor negativo, sendo a quantidade mĂnima 1 para estar no carrinho.
-
-
should be able to navigate to the cart
: Para que esse teste passe, no seu componente FloatingCart na Dashboard, vocĂȘ deve permitir que ao clicar no botĂŁo de carrinho com o testID de navigate-to-cart-button, o usuĂĄrio seja redirecionado para a pĂĄgina Cart. -
-
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ção addToCart 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ção increment incremente em 1 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ção decrement decremente em 1 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 salvas 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.