InstruçÔes

Construir um Conversor de Moedas

Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratĂłrio. HistĂłrias de UsuĂĄrio: 1. Seu componente CurrencyConverter deve renderizar um elemento input para aceitar o valor a ser convertido. 2. Seu elemento input deve aceitar nĂșmeros. 3. Seu componente CurrencyConverter deve renderizar dois elementos select para escolher a moeda para converter de e para. 4. Seu elemento select deve incluir opçÔes para pelo menos USD, EUR, GBP e JPY. VocĂȘ pode usar qualquer taxa de cĂąmbio, desde que nĂŁo haja um mapeamento um-para-um entre as moedas. Aqui estĂŁo alguns exemplos de mapeamentos bons e ruins:
const badMapping = {
       USD: 1,
       EUR: 1,
       GBP: 1,
       JPY: 1
   };
      
   const goodMapping = {
       USD: 1,
       EUR: 0.92,
       GBP: 0.78,
       JPY: 156.7
   };
5. Seu componente CurrencyConverter deve memorizar o cålculo dos valores convertidos para a moeda from de forma que uma alteração na opção select to não recalcule os valores convertidos. 6. Seu componente CurrencyConverter deve renderizar um elemento exibindo o valor convertido no formato XX.XX CCC, onde XX.XX é o valor convertido e CCC é o código da moeda. 7. O valor convertido deve ser arredondado para duas casas decimais.

O que fazer:

Testes:

  • VocĂȘ deve exportar um componente `CurrencyConverter`.
  • VocĂȘ deve ter um elemento `input[type="number"]` para aceitar o valor a ser convertido.
  • VocĂȘ deve ter dois elementos `select`.
  • Os elementos `select` devem ter opçÔes para pelo menos `USD`, `EUR`, `GBP` e `JPY`.
  • Alterar o valor do primeiro elemento `select` deve causar o recĂĄlculo dos valores convertidos.
  • Alterar o valor do segundo `select` nĂŁo deve causar o recĂĄlculo dos valores convertidos.
  • Alterar o valor do primeiro elemento `select` deve exibir o novo valor convertido.
  • Alterar o valor do segundo elemento `select` deve exibir o novo valor convertido e a moeda.
  • O valor convertido deve ser exibido no formato `XX.XX CCC`, onde `XX.XX` Ă© o valor convertido arredondado para duas casas decimais e `CCC` Ă© o cĂłdigo da moeda.
  • O valor convertido deve ser diferente do valor de entrada.

Preview