Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateWebsiteEntityTest.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Backend\Test\Page\Adminhtml\EditWebsite;
10 use Magento\Backend\Test\Page\Adminhtml\StoreIndex;
11 use Magento\Store\Test\Fixture\Website;
12 use Magento\Mtf\Fixture\FixtureFactory;
13 use Magento\Mtf\TestCase\Injectable;
14 
34 class UpdateWebsiteEntityTest extends Injectable
35 {
36  /* tags */
37  const MVP = 'yes';
38  const SEVERITY = 'S2';
39  /* end tags */
40 
46  protected $storeIndex;
47 
53  protected $editWebsite;
54 
60  protected $fixtureFactory;
61 
70  public function __inject(
71  StoreIndex $storeIndex,
72  EditWebsite $editWebsite,
73  FixtureFactory $fixtureFactory
74  ) {
75  $this->storeIndex = $storeIndex;
76  $this->editWebsite = $editWebsite;
77  $this->fixtureFactory = $fixtureFactory;
78  }
79 
87  public function test(Website $websiteOrigin, Website $website)
88  {
89  //Preconditions
90  $websiteOrigin->persist();
91 
92  //Steps
93  $this->storeIndex->open();
94  $this->storeIndex->getStoreGrid()->searchAndOpenWebsite($websiteOrigin);
95  $this->editWebsite->getEditFormWebsite()->fill($website);
96  $this->editWebsite->getFormPageActions()->save();
97 
98  return ['website' => $this->mergeFixture($website, $websiteOrigin)];
99  }
100 
108  protected function mergeFixture(Website $website, Website $websiteOrigin)
109  {
110  $data = array_merge($websiteOrigin->getData(), $website->getData());
111  return $this->fixtureFactory->createByCode('website', ['data' => $data]);
112  }
113 }
__inject(StoreIndex $storeIndex, EditWebsite $editWebsite, FixtureFactory $fixtureFactory)
test(Website $websiteOrigin, Website $website)
mergeFixture(Website $website, Website $websiteOrigin)