Skip to content

Commit

Permalink
MAGETWO-56863: [GitHub] Saving CMS page does not create URL rewrite i…
Browse files Browse the repository at this point in the history
…n Magento 2.1.0 with single-store mode #5923
  • Loading branch information
le0n4eg committed Oct 27, 2016
1 parent 60cc301 commit 25dc790
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -212,5 +212,21 @@
<item name="inherit" xsi:type="string">1</item>
</field>
</dataset>
<dataset name="enable_single_store_mode">
<field name="general/;/enabled" xsi:type="array">
<item name="scope" xsi:type="string">default</item>
<item name="scope_id" xsi:type="number">0</item>
<item name="label" xsi:type="string">Yes</item>
<item name="value" xsi:type="number">1</item>
</field>
</dataset>
<dataset name="enable_single_store_mode_rollback">
<field name="general/single_store_mode/enabled" xsi:type="array">
<item name="scope" xsi:type="string">default</item>
<item name="scope_id" xsi:type="number">0</item>
<item name="label" xsi:type="string">No</item>
<item name="value" xsi:type="number">0</item>
</field>
</dataset>
</repository>
</config>
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Cms\Test\Constraint;

use Magento\Cms\Test\Fixture\CmsPage;
use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex;
use Magento\Cms\Test\Page\Adminhtml\CmsPageNew;

/**
* Assert that displayed CMS page data on edit page equals passed from fixture.
*/
class AssertCmsPageFormSingleStoreMode extends AssertCmsPageForm
{
/**
* Assert that displayed CMS page data on edit page equals passed from fixture with enabled single store mode.
*
* @param CmsPage $cms
* @param CmsPageIndex $cmsIndex
* @param CmsPageNew $cmsPageNew
* @return void
*/
public function processAssert(
CmsPage $cms,
CmsPageIndex $cmsIndex,
CmsPageNew $cmsPageNew
) {
$cmsIndex->open();
$filter = ['title' => $cms->getTitle()];
$cmsIndex->getCmsPageGridBlock()->searchAndOpen($filter);

$cmsFormData = $cmsPageNew->getPageForm()->getData($cms);
$cmsFixtureData = $cms->getData();
$errors = $this->verifyData($cmsFixtureData, $cmsFormData);
\PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

namespace Magento\Cms\Test\TestCase;

use Magento\Config\Test\Fixture\ConfigData;
use Magento\Cms\Test\Fixture\CmsPage as CmsPageFixture;
use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex;
use Magento\Cms\Test\Page\Adminhtml\CmsPageNew;
Expand Down Expand Up @@ -53,6 +54,13 @@ class CreateCmsPageEntityTest extends Injectable
*/
protected $fixtureFactory;

/**
* Configuration data.
*
* @var string
*/
protected $configData;

/**
* Inject pages.
*
Expand All @@ -73,10 +81,18 @@ public function __inject(CmsPageIndex $cmsIndex, CmsPageNew $cmsPageNew, Fixture
*
* @param array $data
* @param string $fixtureType
* @param string $configData
* @return array
*/
public function test(array $data, $fixtureType)
public function test(array $data, $fixtureType, $configData = '')
{
$this->configData = $configData;

// Preconditions
$this->objectManager->create(
\Magento\Config\Test\TestStep\SetupConfigurationStep::class,
['configData' => $configData]
)->run();
// Steps
$cms = $this->fixtureFactory->createByCode($fixtureType, ['data' => $data]);
$this->cmsIndex->open();
Expand All @@ -86,4 +102,19 @@ public function test(array $data, $fixtureType)

return ['cms' => $cms];
}

/**
* Disable MAP on Config level.
*
* @return void
*/
public function tearDown()
{
if ($this->configData) {
$this->objectManager->create(
\Magento\Config\Test\TestStep\SetupConfigurationStep::class,
['configData' => 'enable_single_store_mode', 'rollback' => true]
)->run();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,17 @@
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPagePreview" />
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPageOnFrontend" />
</variation>
<variation name="CreateCmsPageEntityTestVariation2" summary="Create page for default store view">
<data name="tag" xsi:type="string">severity:S1</data>
<data name="configData" xsi:type="string">enable_single_store_mode</data>
<data name="fixtureType" xsi:type="string">cmsPage</data>
<data name="data/is_active" xsi:type="string">Yes</data>
<data name="data/title" xsi:type="string">NewCmsPage%isolation%</data>
<data name="data/identifier" xsi:type="string">identifier-%isolation%</data>
<data name="data/content/content" xsi:type="string">cms_page_text_content%isolation%</data>
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPageSuccessSaveMessage" />
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPageFormSingleStoreMode" />
<constraint name="Magento\Cms\Test\Constraint\AssertCmsPageOnFrontend" />
</variation>
</testCase>
</config>

0 comments on commit 25dc790

Please sign in to comment.