123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- /***
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Version\Controller\Index;
- class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
- {
- public function testIndexAction()
- {
- // Execute controller to get version response
- $this->dispatch('magento_version/index/index');
- $body = $this->getResponse()->getBody();
- $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
- /** @var \Magento\Framework\App\ProductMetadataInterface $productMetadata */
- $productMetadata = $objectManager->get(\Magento\Framework\App\ProductMetadataInterface::class);
- $name = $productMetadata->getName();
- $edition = $productMetadata->getEdition();
- $fullVersion = $productMetadata->getVersion();
- if ($this->isComposerBasedInstallation($fullVersion)) {
- $versionParts = explode('.', $fullVersion);
- $majorMinor = $versionParts[0] . '.' . $versionParts[1];
- // Response must contain Major.Minor version, product name, and edition
- $this->assertContains($majorMinor, $body);
- $this->assertContains($name, $body);
- $this->assertContains($edition, $body);
- // Response must not contain full version including patch version
- $this->assertNotContains($fullVersion, $body);
- } else {
- // Response is supposed to be empty when the project is installed from git
- $this->assertEmpty($body);
- }
- }
- private function isComposerBasedInstallation($fullVersion)
- {
- $versionParts = explode('-', $fullVersion);
- return !(isset($versionParts[0]) && $versionParts[0] == 'dev');
- }
- }
|