/** * Assert that data at the form corresponds to the fixture data. * * @param SystemVariable $customVariable * @param SystemVariableIndex $systemVariableIndex * @param SystemVariableNew $systemVariableNew * @param Store $storeOrigin * @param SystemVariable $customVariableOrigin * @return void * * @SuppressWarnings(PHPMD.NPathComplexity) */ public function processAssert(SystemVariable $customVariable, SystemVariableIndex $systemVariableIndex, SystemVariableNew $systemVariableNew, Store $storeOrigin = null, SystemVariable $customVariableOrigin = null) { // Prepare data $data = $customVariableOrigin === null ? $customVariable->getData() : array_merge($customVariableOrigin->getData(), $customVariable->getData()); if ($customVariableOrigin !== null) { $dataOrigin = $this->arrayCopy($data); $dataOrigin['html_value'] = $customVariableOrigin->getHtmlValue(); $dataOrigin['plain_value'] = $customVariableOrigin->getPlainValue(); } else { $dataOrigin = $this->arrayCopy($data); } if ($data['html_value'] == '') { $data['html_value'] = $customVariableOrigin->getHtmlValue(); $data['use_default_value'] = 'Yes'; } $data['plain_value'] = $data['plain_value'] == '' ? $customVariableOrigin->getPlainValue() : $data['plain_value']; // Perform assert $systemVariableIndex->open(); $systemVariableIndex->getSystemVariableGrid()->searchAndOpen(['code' => $data['code']]); $formData = $systemVariableNew->getSystemVariableForm()->getData(); $errors = $this->verifyData($dataOrigin, $formData); \PHPUnit_Framework_Assert::assertEmpty($errors, $errors); if ($storeOrigin !== null) { $systemVariableNew->getFormPageActions()->selectStoreView($storeOrigin->getName()); $formData = $systemVariableNew->getSystemVariableForm()->getData(); $errors = $this->verifyData($data, $formData); \PHPUnit_Framework_Assert::assertEmpty($errors, $errors); } }
/** * Delete Custom System Variable Entity test. * * @param SystemVariable $customVariable * @return void */ public function test(SystemVariable $customVariable) { // Steps $this->systemVariableIndexPage->open(); $this->systemVariableIndexPage->getGridPageActions()->addNew(); $this->systemVariableNewPage->getSystemVariableForm()->fill($customVariable); $this->systemVariableNewPage->getFormPageActions()->save(); }
/** * Assert that created CMS Page URL Rewrite lead to appropriate page in frontend. * * @param UrlRewrite $urlRewrite * @param CmsPage $cmsPage * @param SystemVariableNew $systemVariableNew * @param BrowserInterface $browser * @return void */ public function processAssert(UrlRewrite $urlRewrite, CmsPage $cmsPage, SystemVariableNew $systemVariableNew, BrowserInterface $browser) { $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath()); if ($urlRewrite->hasData('store_id')) { $store = explode('/', $urlRewrite->getStoreId()); $systemVariableNew->getFormPageActions()->selectStoreView($store[2]); } $url = $urlRewrite->getRedirectType() == 'No' ? $urlRewrite->getRequestPath() : $cmsPage->getTitle(); \PHPUnit_Framework_Assert::assertEquals($_ENV['app_frontend_url'] . $url, $browser->getUrl(), 'URL rewrite CMS Page redirect false.'); }
/** * Delete Custom System Variable Entity test. * * @param SystemVariable $systemVariable * @return void */ public function test(SystemVariable $systemVariable) { // Precondition $systemVariable->persist(); // Steps $filter = ['code' => $systemVariable->getCode(), 'name' => $systemVariable->getName()]; $this->systemVariableIndexPage->open(); $this->systemVariableIndexPage->getSystemVariableGrid()->searchAndOpen($filter); $this->systemVariableNewPage->getFormPageActions()->delete(); }
/** * Update Custom System Variable Entity test. * * @param SystemVariable $customVariable * @param SystemVariable $customVariableOrigin * @param Store $storeOrigin * @param string $saveAction * @return void */ public function test(SystemVariable $customVariable, SystemVariable $customVariableOrigin, Store $storeOrigin, $saveAction) { $filter = ['code' => $customVariableOrigin->getCode()]; // Steps $this->systemVariableIndexPage->open(); $this->systemVariableIndexPage->getSystemVariableGrid()->searchAndOpen($filter); $this->systemVariableNewPage->getFormPageActions()->selectStoreView($storeOrigin->getData('name')); $this->systemVariableNewPage->getSystemVariableForm()->fill($customVariable); $this->systemVariableNewPage->getFormPageActions()->{$saveAction}(); }
/** * Update Custom System Variable Entity test. * * @param FixtureFactory $fixtureFactory * @param SystemVariable $customVariable * @param SystemVariable $customVariableOrigin * @param string $saveAction * @return array */ public function test(FixtureFactory $fixtureFactory, SystemVariable $customVariable, SystemVariable $customVariableOrigin, $saveAction) { $this->store = $fixtureFactory->createByCode('store', ['dataset' => 'custom']); $this->store->persist(); $customVariableOrigin->persist(); $filter = ['code' => $customVariableOrigin->getCode()]; // Steps $this->systemVariableIndexPage->open(); $this->systemVariableIndexPage->getSystemVariableGrid()->searchAndOpen($filter); $this->systemVariableNewPage->getFormPageActions()->selectStoreView($this->store->getData('name')); $this->systemVariableNewPage->getSystemVariableForm()->fill($customVariable); $this->systemVariableNewPage->getFormPageActions()->{$saveAction}(); return ['storeOrigin' => $this->store, 'customVariableOrigin' => $customVariableOrigin]; }