Skip to content

Commit 88d2f94

Browse files
committed
AC-9755:Fix unit tests
1 parent 77e5c2f commit 88d2f94

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

app/code/Magento/Theme/Model/Indexer/Design/IndexerHandler.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ class IndexerHandler extends Grid
2727
private $flatScopeResolver;
2828

2929
/***
30-
* Old Charset for flat table
30+
* check for old collation
3131
*/
32-
private const OLDCHARSET = 'utf8|utf8mb3';
32+
private const OLDCOLLATION = 'utf8_general_ci|utf8mb3_general_ci';
3333

3434
/***
3535
* table design_config_grid_flat
@@ -88,8 +88,8 @@ public function cleanIndex($dimensions)
8888
$this->connection->delete($tableName);
8989
// change the charset to utf8mb4
9090
if ($tableName === self::DESIGN_CONFIG_GRID_FLAT) {
91-
$getTableSchema = $this->connection->getCreateTable($tableName) ?? '';
92-
if (preg_match('/\b('. self::OLDCHARSET .')\b/', $getTableSchema)) {
91+
$getTableSchema = $this->connection->showTableStatus($tableName) ?? '';
92+
if (isset($getTableSchema['Collation']) && preg_match('/\b('. SELF::OLDCOLLATION .')\b/', $getTableSchema['Collation'])) {
9393
$charset = $this->columnConfig->getDefaultCharset();
9494
$collate = $this->columnConfig->getDefaultCollation();
9595
$columnEncoding = " CHARACTER SET ".$charset." COLLATE ".$collate;

app/code/Magento/Theme/Test/Unit/Model/Indexer/Design/ConfigTest.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
use Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver;
2323
use Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver;
2424
use Magento\Framework\Indexer\StructureFactory;
25+
use Magento\Framework\Setup\Declaration\Schema\Dto\Factories\Table as DtoFactoriesTable;
2526
use Magento\Theme\Model\Data\Design\Config as DesignConfig;
2627
use Magento\Theme\Model\Indexer\Design\Config;
2728
use Magento\Theme\Model\ResourceModel\Design\Config\Scope\CollectionFactory;
@@ -91,6 +92,10 @@ class ConfigTest extends TestCase
9192
* @var CollectionFactory|MockObject
9293
*/
9394
private $collectionFactory;
95+
/***
96+
* @var DtoFactoriesTable|MockObject
97+
*/
98+
private $dtoFactoriesTable;
9499

95100
protected function setUp(): void
96101
{
@@ -132,6 +137,9 @@ protected function setUp(): void
132137
->getMock();
133138
$this->indexerFieldset = $this->getMockBuilder(FieldsetInterface::class)
134139
->getMockForAbstractClass();
140+
$this->dtoFactoriesTable = $this->getMockBuilder(DtoFactoriesTable::class)
141+
->disableOriginalConstructor()
142+
->getMock();
135143
}
136144

137145
/**
@@ -171,7 +179,9 @@ private function getDesignConfigIndexerModel(): Config
171179
[
172180
'fieldsets' => [],
173181
'indexer_id' => DesignConfig::DESIGN_CONFIG_GRID_INDEXER_ID
174-
]
182+
],
183+
[],
184+
$this->dtoFactoriesTable
175185
);
176186

177187
$this->saveHandlerFactory->expects($this->any())

0 commit comments

Comments
 (0)