Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertProductReviewInGridOnCustomerPage.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Customer\Test\Page\Adminhtml\CustomerIndex;
11 use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit;
14 use Magento\Mtf\Constraint\AbstractConstraint;
15 
20 class AssertProductReviewInGridOnCustomerPage extends AbstractConstraint
21 {
33  public function processAssert(
34  Customer $customer,
35  Review $reviewInitial,
36  Review $review,
37  CustomerIndexEdit $customerIndexEdit,
38  CustomerIndex $customerIndex,
39  AssertProductReviewInGrid $assertProductReviewInGrid
40  ) {
42  $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity();
43  $customerIndex->open();
44  $customerIndex->getCustomerGridBlock()->searchAndOpen(['email' => $customer->getEmail()]);
45  $customerIndexEdit->getCustomerForm()->openTab('product_reviews');
46  $filter = $assertProductReviewInGrid->prepareFilter($product, $this->prepareData($review, $reviewInitial));
48  $reviewsGrid = $customerIndexEdit->getCustomerForm()->getTab('product_reviews')->getReviewsGrid();
49  $reviewsGrid->search($filter);
50  unset($filter['visible_in']);
51  \PHPUnit\Framework\Assert::assertTrue(
52  $reviewsGrid->isRowVisible($filter, false),
53  'Review is absent in Review grid on customer page.'
54  );
55  }
56 
64  protected function prepareData(Review $review, Review $reviewInitial)
65  {
66  $dataReviewInitial = $reviewInitial->getData();
67  $data = $review->getData();
68  foreach ($dataReviewInitial as $key => $value) {
69  if (!isset($data[$key])) {
70  $data[$key] = $value;
71  }
72  }
73  $data['type'] = 'Customer';
74  return $data;
75  }
76 
82  public function toString()
83  {
84  return 'Review is present in grid on customer page.';
85  }
86 }
$customer
Definition: customers.php:11
$value
Definition: gender.phtml:16
prepareFilter(FixtureInterface $product, array $review, $gridStatus='')