12 use Magento\Checkout\Test\Page\CheckoutCart;
14 use Magento\Mtf\Fixture\FixtureInterface;
46 $checkoutCart->open();
48 $sourceProducts =
$cart->getDataFieldConfig(
'items')[
'source'];
49 $products = $sourceProducts->getProducts();
59 $checkoutItem =
$item->getData();
63 'options' => $this->
sortDataByPath($checkoutItem[
'options'],
'::title'),
65 $cartData[$productName] = [
71 \PHPUnit\Framework\Assert::assertEmpty($error, $error);
87 $isPrepareError =
true 91 foreach ($fixtureData as $key =>
$value) {
92 if (in_array($key, $this->skippedFields)) {
96 $formValue = isset($formData[$key]) ? $formData[$key] :
null;
97 if ($formValue && !is_array($formValue)) {
98 $formValue = trim($formValue,
'. ');
101 if (
null === $formValue) {
102 $errors[] =
'- field "' . $key .
'" is absent in form';
105 if (!empty($valueErrors)) {
108 }
elseif (($key ==
'value') && $this->
equals($fixtureData[
'value'], $formData[
'value'])) {
116 $diffData = array_diff(array_keys($formData), array_keys($fixtureData));
118 $errors[] =
'- fields ' . implode(
', ', $diffData) .
' is absent in fixture';
122 if ($isPrepareError) {
135 protected function equals($expected, $actual)
137 return (
null === strpos($expected, $actual));
153 if (is_array($formValue)) {
157 return sprintf($this->errorMessage, $key, $formValue,
$value);
167 return 'Product options on the page match.';
elseif(isset( $params[ 'redirect_parent']))
equals($expected, $actual)
verifyContainsData(array $fixtureData, array $formData, $isStrict=false, $isPrepareError=true)
errorFormat($value, $formValue, $key)