/**
  * 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.');
     }
 }
 /**
  * Assert that Magento successfully installed.
  *
  * @param InstallConfig $installConfig
  * @param User $user
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage, InstallConfig $installConfig, User $user)
 {
     $adminData = $installPage->getInstallBlock()->getAdminInfo();
     $dbData = $installPage->getInstallBlock()->getDbInfo();
     $allData = array_merge($user->getData(), $installConfig->getData());
     foreach ($installConfig->getData() as $key => $value) {
         $allData[$key] = isset($value['value']) ? $value['value'] : $value;
     }
     $allData['admin'] = $allData['web'] . $allData['admin'] . '/';
     foreach ($this->adminFieldsList as $field) {
         \PHPUnit_Framework_Assert::assertEquals($allData[$field['fixture']], $adminData[$field['pageData']], 'Wrong admin information is displayed.');
     }
     foreach ($this->dbFieldsList as $field) {
         \PHPUnit_Framework_Assert::assertEquals($allData[$field['fixture']], $dbData[$field['pageData']], 'Wrong database information is displayed.');
     }
 }
 /**
  * Assert that Magento successfully installed.
  *
  * @param InstallConfig $installConfig
  * @param User $user
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage, InstallConfig $installConfig, User $user)
 {
     //TODO Nginx server does't make redirect after installation (random fail)
     sleep(5);
     if ($installPage->getInstallBlock()->isInstallationCompleted()) {
         return;
     }
     $adminData = $installPage->getInstallBlock()->getAdminInfo();
     $dbData = $installPage->getInstallBlock()->getDbInfo();
     $allData = array_merge($user->getData(), $installConfig->getData());
     foreach ($installConfig->getData() as $key => $value) {
         $allData[$key] = isset($value['value']) ? $value['value'] : $value;
     }
     $allData['baseUrl'] = isset($allData['https']) ? $allData['https'] : $allData['baseUrl'];
     $allData['admin'] = $allData['baseUrl'] . $allData['admin'] . '/';
     $this->checkInstallData($allData, $adminData, $dbData);
 }
Example #4
0
 /**
  * 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];
 }
 /**
  * Assert that selected encryption key displays on success full install page.
  *
  * @param Install $installPage
  * @param InstallConfig $installConfig
  * @return void
  */
 public function processAssert(Install $installPage, InstallConfig $installConfig)
 {
     \PHPUnit_Framework_Assert::assertEquals($installConfig->getKeyValue(), $installPage->getInstallBlock()->getAdminInfo()['encryption_key'], 'Selected encryption key on install page not equals to data from fixture.');
 }
 /**
  * Assert that default Admin URI is generated according to the pattern.
  *
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage)
 {
     \PHPUnit_Framework_Assert::assertRegExp(self::ADMIN_URI_PATTERN, $installPage->getWebConfigBlock()->getAdminUriCheck(), 'Unexpected Backend Frontname pattern.');
 }
 /**
  * Assert that PHP Version, PHP Extensions and File Permission are ok.
  *
  * @param Install $installPage
  * @return void
  */
 public function processAssert(Install $installPage)
 {
     \PHPUnit_Framework_Assert::assertContains(self::PHP_VERSION_MESSAGE, $installPage->getReadinessBlock()->getPhpVersionCheck(), 'PHP version is incorrect.');
     \PHPUnit_Framework_Assert::assertRegExp(self::PHP_EXTENSIONS_REGEXP, $installPage->getReadinessBlock()->getPhpExtensionsCheck(), 'PHP extensions missed.');
     \PHPUnit_Framework_Assert::assertRegExp(self::FILE_PERMISSION_REGEXP, $installPage->getReadinessBlock()->getFilePermissionCheck(), 'File permissions does not meet requirements.');
 }