В чем всё таки дело? Испытание [21/21]

Сможет ли кто-нибудь разобраться в чем тут дело? Всё работает и выглядит как в на образце, но результат не засчитывает.
Выдает такое сообщение: "Всего проверок: 3, пройдено: 0 (string)"

var cardsData = [
  {
    inStock: true,
    imgUrl: 'gllacy/choco.jpg',
    text: 'Сливочно-кофейное с кусочками шоколада',
    price: 310,
    isHit: true,
    specialOffer: 'Двойная порция сиропа бесплатно!'
  },
  {
    inStock: false,
    imgUrl: 'gllacy/lemon.jpg',
    text: 'Сливочно-лимонное с карамельной присыпкой',
    price: 125,
    isHit: false
  },
  {
    inStock: true,
    imgUrl: 'gllacy/cowberry.jpg',
    text: 'Сливочное с брусничным джемом',
    price: 170,
    isHit: false
  },
  {
    inStock: true,
    imgUrl: 'gllacy/cookie.jpg',
    text: 'Сливочное с кусочками печенья',
    price: 250,
    isHit: false
  },
  {
    inStock: true,
    imgUrl: 'gllacy/creme-brulee.jpg',
    text: 'Сливочное крем-брюле',
    price: 190,
    isHit: false
  }
];

var cardList = document.querySelector('.goods');

var makeElement = function(targetName, className, text){
  var element = document.createElement(targetName);
  element.classList.add(className);
  if(text){
    element.textContent = text;
    }
  return(element)  
  }
  
var makeCards = function(products){
  var cardItem = makeElement('li', 'good');
  
  var title = makeElement('h2', 'good__description', products.text);
  cardItem.appendChild(title);
  
  var picture = makeElement('img', 'good__image');
  picture.src = products.imgUrl;
  cardItem.appendChild(picture);
  
  var price = makeElement('p', 'good__price', products.price + '₽/кг');
  cardItem.appendChild(price);
  
  var inStock = 'good--available';
  if(!products.inStock){
    inStock = 'good--unavailable';
    }
  cardItem.classList.add(inStock);
    
  if(products.isHit){
    cardItem.classList.add('good--hit');
    var hitPrice = makeElement('p', 'good__special-offer', products.specialOffer);
    cardItem.appendChild(hitPrice);
    }
    return(cardItem)
  }
  
var renderCards = function(products){
  for( var i = 0; i < products.length; i++){
  var listItem = makeCards(products[i]);
  cardList.appendChild(listItem);
   }
  }

renderCards(cardsData);

Форматируйте код с помощью кнопки </> в редакторе сообщений. Форум заменяет кавычки в коде, придется долго всё это править в окне редактора. Заранее спасибо.

Большое спасибо за замечание, исправил :slight_smile:

Проблема в этом месте коде. То что товар является хитом еще не значит что для него есть специальное предложение, и наоборот - специальное предложение может быть и не на хитовом товаре.

Решение: отделить код создания и добавления ‘p’-элемента с классом ‘good__special-offer’ под условие if (products.specialOffer) { … } и поместить его отдельно, вне условия if (products.isHit) { … }.

1 лайк