Only display two table names

[MAILPOET-6184]
This commit is contained in:
Pavel Dohnal
2024-08-12 10:18:44 +02:00
committed by Aschepikov
parent 12cdba005c
commit e9969b64ae
2 changed files with 44 additions and 3 deletions

View File

@@ -2,7 +2,10 @@
namespace MailPoet\Util\Notices;
use MailPoet\Entities\FormEntity;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\WP\Functions as WPFunctions;
class DatabaseEngineNoticeTest extends \MailPoetTest {
@@ -41,6 +44,27 @@ class DatabaseEngineNoticeTest extends \MailPoetTest {
verify($message)->stringContainsString($this->tableName);
}
public function testItDisplaysNoticeWithMultipleTables() {
$tables = [
$this->entityManager->getClassMetadata(FormEntity::class)->getTableName(),
$this->entityManager->getClassMetadata(NewsletterEntity::class)->getTableName(),
$this->tableName,
$this->entityManager->getClassMetadata(SubscriberEntity::class)->getTableName(),
];
foreach ($tables as $table) {
$this->entityManager->getConnection()->executeStatement("ALTER TABLE {$table} ENGINE = MyISAM;");
}
$result = $this->notice->init(true);
verify($result)->notEmpty();
$message = $result->getMessage();
verify($message)->stringContainsString('and 2 more');
verify($message)->stringContainsString('“' . $tables[0] . '”');
foreach ($tables as $table) {
$this->entityManager->getConnection()->executeStatement("ALTER TABLE {$table} ENGINE = INNODB;");
}
}
public function testItDoesntDisplayWhenDisabled() {
$this->notice->disable();
$result = $this->notice->init(true);