Encontre o bug: aumento anual do preço e do depósito

O aumento anual do preço precisa ser feito, e escrevemos um script para migrar um produto. Um objeto deve ser retornado com o produto antigo e o novo produto migrado para os registros do histórico de preços.

Todos os preços precisam aumentar 15%, e o depósito das garrafas aumenta de $0.15 para $0.20.

Durante os testes, o produto antigo parece ser também o produto novo. Algo não está funcionando como esperado.

Resultado esperado

migrateProduct({
  product: "Milk",
  price: 1.2,
  containers: [
    { type: "bottle", deposit: 0.15, liters: 1.5 },
    { type: "can", deposit: 0.1, liters: 0.33 },
    { type: "carton", deposit: null, liters: 1 }
  ]
}) ➞ {
  oldProduct: {
    product: "Milk",
    price: 1.2,
    containers: [
      { type: "bottle", deposit: 0.15, liters: 1.5 },
      { type: "can", deposit: 0.1, liters: 0.33 },
      { type: "carton", deposit: null, liters: 1 }
    ]
  },
  newProduct: {
    product: "Milk",
    price: 1.38,
    containers: [
      { type: "bottle", deposit: 0.2, liters: 1.5 },
      { type: "can", deposit: 0.1, liters: 0.33 },
      { type: "carton", deposit: null, liters: 1 }
    ]
  }
}

Observações

  • As funções do objeto JSON não podem ser usadas devido a problemas de desempenho.
  • Consulte a aba Resources para ver dicas! :)