Pizza.prototype.getPrice = function() { const price = 10 if (this.pizzaSize === "medium") { if (this.toppings === "cheese") { console.log(price + 6); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 7); } else { console.log(price + 8); } } else if (this.pizzaSize === "large") { if (this.toppings === "cheese") { console.log(price + 11); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 12); } else { console.log(price + 13); } } else if (this.pizzaSize === "xlarge") { if (this.toppings === "cheese") { console.log(price + 15); } else if (this.toppings === ("cheese", "pepperoni")) { console.log(price + 16); } else { console.log(price + 17); } } } function Pizza(pizzaSize, toppings) { this.pizzaSize = pizzaSize; this.toppings = toppings; } //UI Logic --- function displayPizzaInfo(pizzaToDisplay) { let pizzaInfo = $("p#output"); let htmlForPizzaInfo = pizzaToDisplay.pizzaSize + " " + pizzaToDisplay.toppings + " Pizza" + " " + "$ " + pizzaToDisplay.getPrice(); pizzaInfo.html(htmlForPizzaInfo); } $(document).ready(function(){ $("form#pizzaOrder").submit(function(event) { event.preventDefault(); const pizzaSize = $("#pizzaSize").val(); let ele = []; $("input:checkbox[name=topping]:checked").each(function() { ele.push($(this).val()); }) let myPizza = new Pizza(pizzaSize, ele) displayPizzaInfo(myPizza); // let myPizzaPrice = myPizza.getPrice(); }); }); let myPizza = new Pizza("medium", "cheese"); myPizza.getPrice(); Expected Output: 16La prueba anterior ya no se aplica y el resultado esperado se convierte en 18. Creo que la forma en que escribo mis if anidados o los if están estructurados incorrectamente. Hice TDD y mientras escribía mis pruebas, todas funcionaron sin darme cuenta de que mis pruebas anteriores ya no funcionaban. Estoy buscando que mi prototipo.getPrice coincida con mis declaraciones if y, por lo tanto, se corresponda correctamente con lo que el usuario ve en la aplicación web. Cualquier ayuda sería muy apreciada. ¡Gracias!