Your IP : 127.0.0.1
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Framework\DB\Test\Unit\Ddl;
use Magento\Framework\DB\Ddl\Sequence;
use Magento\Framework\DB\Ddl\Table;
use PHPUnit\Framework\TestCase;
class SequenceTest extends TestCase
{
/**
* @param array $params
* @param string $expectedQuery
* @dataProvider createSequenceDdlDataProvider
*/
public function testGetCreateSequenceDdl(array $params, $expectedQuery)
{
$model = new Sequence();
$actualQuery = $model->getCreateSequenceDdl(...array_values($params));
$cleanString = function ($string) {
return trim(preg_replace('/\s+/', ' ', $string));
};
$this->assertEquals(
$cleanString($expectedQuery),
$cleanString($actualQuery)
);
}
public function testDropSequence()
{
$this->assertEquals(
'DROP TABLE someTable',
(new Sequence())->dropSequence('someTable')
);
}
/**
* @return array
*/
public function createSequenceDdlDataProvider()
{
return [
[
[
'name' => 'someName'
],
'CREATE TABLE someName (
sequence_value integer UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (sequence_value)
) AUTO_INCREMENT = 1 ENGINE = INNODB'
],
[
[
'name' => 'someName',
'startNumber' => 123,
'columnType' => Table::TYPE_BIGINT,
'unsigned' => false
],
'CREATE TABLE someName (
sequence_value bigint NOT NULL AUTO_INCREMENT,
PRIMARY KEY (sequence_value)
) AUTO_INCREMENT = 123 ENGINE = INNODB'
]
];
}
}