/** * 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))); }