9 use Magento\Mtf\TestCase\Injectable;
10 use Magento\Setup\Test\Fixture\Upgrade;
11 use Magento\Setup\Test\Page\Adminhtml\SetupWizard;
12 use Magento\Backend\Test\Page\Adminhtml\Dashboard;
13 use Magento\Mtf\Fixture\FixtureFactory;
58 FixtureFactory $fixtureFactory,
66 $upgradeFixture = $fixtureFactory->create(Upgrade::class, [
'data' => $upgrade]);
67 $createBackupConfig = array_intersect_key(
69 [
'optionsCode' =>
'',
'optionsMedia' =>
'',
'optionsDb' =>
'']
71 $createBackupFixture = $fixtureFactory->create(
73 [
'data' => $createBackupConfig]
75 $version = $upgrade[
'upgradeVersion'];
78 $normalVersion =
'(0|[1-9]\d*)';
79 $preReleaseVersion =
"((0(?!\\d+(\\.|\\+|{$suffix}))|[1-9A-Za-z])[0-9A-Za-z-]*)";
80 $buildVersion =
'([0-9A-Za-z][0-9A-Za-z-]*)';
81 $versionPattern =
"/^{$normalVersion}(\\.{$normalVersion}){2}" 82 .
"(-{$preReleaseVersion}(\\.{$preReleaseVersion})*)?" 83 .
"(\\+{$buildVersion}(\\.{$buildVersion})*)?{$suffix}/";
85 if (preg_match($versionPattern,
$version)) {
86 preg_match(
"/(.*){$suffix}/",
$version, $matches);
90 "Provided version format does not comply with semantic versioning specification. Got '{$version}'" 95 $this->adminDashboard->open();
98 $this->setupWizard->open();
101 if ($upgrade[
'needAuthentication'] ===
'Yes') {
102 $this->setupWizard->getSystemConfig()->clickSystemConfig();
103 $this->setupWizard->getAuthentication()->fill($upgradeFixture);
104 $this->setupWizard->getAuthentication()->clickSaveConfig();
105 $this->setupWizard->open();
109 $this->setupWizard->getSetupHome()->clickSystemUpgrade();
110 $this->setupWizard->getSelectVersion()->fill($upgradeFixture);
111 if ($upgrade[
'otherComponents'] ===
'Yes') {
112 $this->setupWizard->getSelectVersion()->chooseUpgradeOtherComponents($upgrade[
'otherComponentsList']);
114 $this->setupWizard->getSelectVersion()->clickNext();
117 $this->setupWizard->getReadiness()->clickReadinessCheck();
119 $this->setupWizard->getReadiness()->clickNext();
122 $this->setupWizard->getCreateBackup()->fill($createBackupFixture);
123 $this->setupWizard->getCreateBackup()->clickNext();
127 $upgrade[
'selectedPackages'] = $this->setupWizard->getSelectVersion()->getSelectedPackages();
128 $assertVersionAndEdition->
processAssert($this->setupWizard, $upgrade);
129 $this->setupWizard->getSystemUpgrade()->clickSystemUpgrade();
131 $assertSuccessMessage->
processAssert($this->setupWizard, $upgrade[
'package']);
134 $this->adminDashboard->open();
__inject(Dashboard $adminDashboard, SetupWizard $setupWizard)
test(FixtureFactory $fixtureFactory, AssertSuccessfulReadinessCheck $assertReadiness, AssertVersionAndEditionCheck $assertVersionAndEdition, AssertSuccessMessage $assertSuccessMessage, AssertApplicationVersion $assertApplicationVersion, array $upgrade=[])
processAssert(SetupWizard $setupWizard)
processAssert(SetupWizard $setupWizard, $package)
processAssert(Dashboard $dashboard, $version)
processAssert(SetupWizard $setupWizard, array $upgrade)