/**
  * Verify fields for "Add to cart" form.
  *
  * @param CatalogProductView $catalogProductView
  * @param GiftCardProduct $product
  * @param array $fixtureAmounts
  * @return array
  *
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 protected function verifyFields(CatalogProductView $catalogProductView, GiftCardProduct $product, array $fixtureAmounts)
 {
     $giftCard = $catalogProductView->getGiftCardBlock();
     $isAmountSelectVisible = $giftCard->isAmountSelectVisible();
     $isAmountInputVisible = $giftCard->isAmountInputVisible();
     $isAllowOpenAmount = $product->hasData('allow_open_amount') && 'Yes' === $product->getAllowOpenAmount();
     $isShowSelectAmount = $product->hasData('giftcard_amounts') && ($isAllowOpenAmount || 1 < count($product->getGiftcardAmounts()));
     return array_filter(array_merge($this->getSelectAmountVisibleErrors($isAmountSelectVisible, $isShowSelectAmount), $this->getInputAmountVisibleErrors($fixtureAmounts, $isAllowOpenAmount, $isAmountInputVisible), $this->getSenderAndRecipientFieldsVisibleErrors($product, $catalogProductView)));
 }