/** * Assert that part of license agreement text is present on Terms & Agreement page. * * @param Install $installPage * @return void */ public function processAssert(Install $installPage) { try { \PHPUnit_Framework_Assert::assertContains(self::LICENSE_AGREEMENT_TEXT, $installPage->getLicenseBlock()->getLicense(), 'License agreement text is absent.'); } catch (\Exception $e) { \PHPUnit_Framework_Assert::assertContains(self::DEFAULT_LICENSE_AGREEMENT_TEXT, $installPage->getLicenseBlock()->getLicense(), 'License agreement text is absent.'); } }
/** * Install Magento via web interface. * * @param User $user * @param array $configData * @param FixtureFactory $fixtureFactory * @param AssertAgreementTextPresent $assertLicense * @param AssertSuccessfulReadinessCheck $assertReadiness * @param AssertAdminUriAutogenerated $assertAdminUri * @param array $install [optional] * @return array */ public function test(User $user, array $configData, FixtureFactory $fixtureFactory, AssertAgreementTextPresent $assertLicense, AssertSuccessfulReadinessCheck $assertReadiness, AssertAdminUriAutogenerated $assertAdminUri, array $install = []) { $dataConfig = array_merge($install, $configData); if (isset($dataConfig['httpsFront'])) { $dataConfig['https'] = str_replace('http', 'https', $dataConfig['baseUrl']); } /** @var InstallConfig $installConfig */ $installConfig = $fixtureFactory->create('Magento\\Install\\Test\\Fixture\\Install', ['data' => $dataConfig]); // Steps $this->installPage->open(); // Verify license agreement. $this->installPage->getLandingBlock()->clickTermsAndAgreement(); $assertLicense->processAssert($this->installPage); $this->installPage->getLicenseBlock()->clickBack(); $this->installPage->getLandingBlock()->clickAgreeAndSetup(); // Step 1: Readiness Check. $this->installPage->getReadinessBlock()->clickReadinessCheck(); $assertReadiness->processAssert($this->installPage); $this->installPage->getReadinessBlock()->clickNext(); // Step 2: Add a Database. $this->installPage->getDatabaseBlock()->fill($installConfig); $this->installPage->getDatabaseBlock()->clickNext(); // Step 3: Web Configuration. $assertAdminUri->processAssert($this->installPage); $this->installPage->getWebConfigBlock()->clickAdvancedOptions(); $this->installPage->getWebConfigBlock()->fill($installConfig); $this->installPage->getWebConfigBlock()->clickNext(); // Step 4: Customize Your Store $this->installPage->getCustomizeStoreBlock()->fill($installConfig); $this->installPage->getCustomizeStoreBlock()->clickNext(); // Step 5: Create Admin Account. $this->installPage->getCreateAdminBlock()->fill($user); $this->installPage->getCreateAdminBlock()->clickNext(); // Step 6: Install. $this->installPage->getInstallBlock()->clickInstallNow(); return ['installConfig' => $installConfig]; }