Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateCustomUrlRewriteEntityTest.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteEdit;
11 use Magento\UrlRewrite\Test\Page\Adminhtml\UrlRewriteIndex;
12 use Magento\Mtf\TestCase\Injectable;
13 
30 class UpdateCustomUrlRewriteEntityTest extends Injectable
31 {
32  /* tags */
33  const MVP = 'yes';
34  const TEST_TYPE = 'extended_acceptance_test';
35  /* end tags */
36 
42  protected $urlRewriteIndex;
43 
49  protected $urlRewriteEdit;
50 
58  public function __inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit)
59  {
60  $this->urlRewriteIndex = $urlRewriteIndex;
61  $this->urlRewriteEdit = $urlRewriteEdit;
62  }
63 
71  public function test(UrlRewrite $initialRewrite, UrlRewrite $urlRewrite)
72  {
73  //Precondition
74  $initialRewrite->persist();
75 
76  //Steps
77  $this->urlRewriteIndex->open();
78  $filter = ['request_path' => $initialRewrite->getRequestPath()];
79  $replaceData = $this->getReplaceData($urlRewrite);
80  $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
81  $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite, null, $replaceData);
82  $this->urlRewriteEdit->getPageMainActions()->save();
83  }
84 
91  protected function getReplaceData(UrlRewrite $initialRewrite)
92  {
93  $replaceData = [];
94  $entity = $initialRewrite->getDataFieldConfig('target_path')['source']->getEntity();
95 
96  if ($entity) {
97  $replaceData['target_path'] = ['name' => 'sku', 'value' => $entity->getSku()];
98  }
99 
100  return $replaceData;
101  }
102 }
__inject(UrlRewriteIndex $urlRewriteIndex, UrlRewriteEdit $urlRewriteEdit)
$entity
Definition: element.phtml:22