Skip to content

Commit 79a0f17

Browse files
authored
Merge pull request #6972 from morozov/table-editor-in-tests
Rework tests that create or modify tables
2 parents 941dcd9 + cc40fc4 commit 79a0f17

File tree

84 files changed

+6961
-3884
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+6961
-3884
lines changed

tests/Functional/AutoIncrementColumnTest.php

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
1010
use Doctrine\DBAL\Platforms\SQLServerPlatform;
1111
use Doctrine\DBAL\Schema\Column;
12+
use Doctrine\DBAL\Schema\PrimaryKeyConstraint;
1213
use Doctrine\DBAL\Schema\Table;
1314
use Doctrine\DBAL\Tests\FunctionalTestCase;
1415
use Doctrine\DBAL\Types\Types;
@@ -20,18 +21,25 @@ class AutoIncrementColumnTest extends FunctionalTestCase
2021
/** @throws Exception */
2122
protected function setUp(): void
2223
{
23-
$table = new Table('auto_increment_table', [
24-
Column::editor()
25-
->setUnquotedName('id')
26-
->setTypeName(Types::INTEGER)
27-
->setAutoincrement(true)
28-
->create(),
29-
Column::editor()
30-
->setUnquotedName('val')
31-
->setTypeName(Types::INTEGER)
32-
->create(),
33-
]);
34-
$table->setPrimaryKey(['id']);
24+
$table = Table::editor()
25+
->setUnquotedName('auto_increment_table')
26+
->setColumns(
27+
Column::editor()
28+
->setUnquotedName('id')
29+
->setTypeName(Types::INTEGER)
30+
->setAutoincrement(true)
31+
->create(),
32+
Column::editor()
33+
->setUnquotedName('val')
34+
->setTypeName(Types::INTEGER)
35+
->create(),
36+
)
37+
->setPrimaryKeyConstraint(
38+
PrimaryKeyConstraint::editor()
39+
->setUnquotedColumnNames('id')
40+
->create(),
41+
)
42+
->create();
3543

3644
$this->dropAndCreateTable($table);
3745
}

tests/Functional/BinaryDataAccessTest.php

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Doctrine\DBAL\ArrayParameterType;
88
use Doctrine\DBAL\ParameterType;
99
use Doctrine\DBAL\Schema\Column;
10+
use Doctrine\DBAL\Schema\PrimaryKeyConstraint;
1011
use Doctrine\DBAL\Schema\Table;
1112
use Doctrine\DBAL\Tests\FunctionalTestCase;
1213
use Doctrine\DBAL\Tests\TestUtil;
@@ -29,19 +30,26 @@ protected function setUp(): void
2930
self::markTestSkipped("PDO_OCI doesn't support binding binary values");
3031
}
3132

32-
$table = new Table('binary_fetch_table', [
33-
Column::editor()
34-
->setUnquotedName('test_int')
35-
->setTypeName(Types::INTEGER)
36-
->create(),
37-
Column::editor()
38-
->setUnquotedName('test_binary')
39-
->setTypeName(Types::BINARY)
40-
->setNotNull(false)
41-
->setLength(4)
42-
->create(),
43-
]);
44-
$table->setPrimaryKey(['test_int']);
33+
$table = Table::editor()
34+
->setUnquotedName('binary_fetch_table')
35+
->setColumns(
36+
Column::editor()
37+
->setUnquotedName('test_int')
38+
->setTypeName(Types::INTEGER)
39+
->create(),
40+
Column::editor()
41+
->setUnquotedName('test_binary')
42+
->setTypeName(Types::BINARY)
43+
->setNotNull(false)
44+
->setLength(4)
45+
->create(),
46+
)
47+
->setPrimaryKeyConstraint(
48+
PrimaryKeyConstraint::editor()
49+
->setUnquotedColumnNames('test_int')
50+
->create(),
51+
)
52+
->create();
4553

4654
$this->dropAndCreateTable($table);
4755

tests/Functional/BlobTest.php

Lines changed: 50 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Doctrine\DBAL\ParameterType;
88
use Doctrine\DBAL\Schema\Column;
9+
use Doctrine\DBAL\Schema\PrimaryKeyConstraint;
910
use Doctrine\DBAL\Schema\Table;
1011
use Doctrine\DBAL\Tests\FunctionalTestCase;
1112
use Doctrine\DBAL\Tests\TestUtil;
@@ -26,23 +27,30 @@ protected function setUp(): void
2627
self::markTestSkipped("DBAL doesn't support storing LOBs represented as streams using PDO_OCI");
2728
}
2829

29-
$table = new Table('blob_table', [
30-
Column::editor()
31-
->setUnquotedName('id')
32-
->setTypeName(Types::INTEGER)
33-
->create(),
34-
Column::editor()
35-
->setUnquotedName('clobcolumn')
36-
->setTypeName(Types::TEXT)
37-
->setNotNull(false)
38-
->create(),
39-
Column::editor()
40-
->setUnquotedName('blobcolumn')
41-
->setTypeName(Types::BLOB)
42-
->setNotNull(false)
43-
->create(),
44-
]);
45-
$table->setPrimaryKey(['id']);
30+
$table = Table::editor()
31+
->setUnquotedName('blob_table')
32+
->setColumns(
33+
Column::editor()
34+
->setUnquotedName('id')
35+
->setTypeName(Types::INTEGER)
36+
->create(),
37+
Column::editor()
38+
->setUnquotedName('clobcolumn')
39+
->setTypeName(Types::TEXT)
40+
->setNotNull(false)
41+
->create(),
42+
Column::editor()
43+
->setUnquotedName('blobcolumn')
44+
->setTypeName(Types::BLOB)
45+
->setNotNull(false)
46+
->create(),
47+
)
48+
->setPrimaryKeyConstraint(
49+
PrimaryKeyConstraint::editor()
50+
->setUnquotedColumnNames('id')
51+
->create(),
52+
)
53+
->create();
4654

4755
$this->dropAndCreateTable($table);
4856
}
@@ -187,23 +195,31 @@ public function testBindParamProcessesStream(): void
187195

188196
public function testBlobBindingDoesNotOverwritePrevious(): void
189197
{
190-
$table = new Table('blob_table', [
191-
Column::editor()
192-
->setUnquotedName('id')
193-
->setTypeName(Types::INTEGER)
194-
->create(),
195-
Column::editor()
196-
->setUnquotedName('blobcolumn1')
197-
->setTypeName(Types::BLOB)
198-
->setNotNull(false)
199-
->create(),
200-
Column::editor()
201-
->setUnquotedName('blobcolumn2')
202-
->setTypeName(Types::BLOB)
203-
->setNotNull(false)
204-
->create(),
205-
]);
206-
$table->setPrimaryKey(['id']);
198+
$table = Table::editor()
199+
->setUnquotedName('blob_table')
200+
->setColumns(
201+
Column::editor()
202+
->setUnquotedName('id')
203+
->setTypeName(Types::INTEGER)
204+
->create(),
205+
Column::editor()
206+
->setUnquotedName('blobcolumn1')
207+
->setTypeName(Types::BLOB)
208+
->setNotNull(false)
209+
->create(),
210+
Column::editor()
211+
->setUnquotedName('blobcolumn2')
212+
->setTypeName(Types::BLOB)
213+
->setNotNull(false)
214+
->create(),
215+
)
216+
->setPrimaryKeyConstraint(
217+
PrimaryKeyConstraint::editor()
218+
->setUnquotedColumnNames('id')
219+
->create(),
220+
)
221+
->create();
222+
207223
$this->dropAndCreateTable($table);
208224

209225
$params = ['test1', 'test2'];

tests/Functional/BooleanBindingTest.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
namespace Doctrine\DBAL\Tests\Functional;
66

77
use Doctrine\DBAL\ParameterType;
8+
use Doctrine\DBAL\Schema\Column;
89
use Doctrine\DBAL\Schema\Table;
910
use Doctrine\DBAL\Tests\FunctionalTestCase;
1011
use Doctrine\DBAL\Tests\TestUtil;
12+
use Doctrine\DBAL\Types\Types;
1113
use PHPUnit\Framework\Attributes\DataProvider;
1214

1315
class BooleanBindingTest extends FunctionalTestCase
@@ -18,8 +20,16 @@ protected function setUp(): void
1820
self::markTestSkipped('Boolean inserts do not work for PDO_OCI and OCI8 as of now');
1921
}
2022

21-
$table = new Table('boolean_test_table');
22-
$table->addColumn('val', 'boolean');
23+
$table = Table::editor()
24+
->setUnquotedName('boolean_test_table')
25+
->setColumns(
26+
Column::editor()
27+
->setUnquotedName('val')
28+
->setTypeName(Types::BOOLEAN)
29+
->create(),
30+
)
31+
->create();
32+
2333
$this->dropAndCreateTable($table);
2434
}
2535

tests/Functional/ConnectionTest.php

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Doctrine\DBAL\Platforms\SQLitePlatform;
1515
use Doctrine\DBAL\Platforms\SQLServerPlatform;
1616
use Doctrine\DBAL\Schema\Column;
17+
use Doctrine\DBAL\Schema\PrimaryKeyConstraint;
1718
use Doctrine\DBAL\Schema\Table;
1819
use Doctrine\DBAL\Tests\FunctionalTestCase;
1920
use Doctrine\DBAL\Tests\TestUtil;
@@ -365,13 +366,20 @@ public function testExceptionOnPrepareAndExecute(): void
365366

366367
private function createTestTable(): void
367368
{
368-
$table = new Table(self::TABLE, [
369-
Column::editor()
370-
->setUnquotedName('id')
371-
->setTypeName(Types::INTEGER)
372-
->create(),
373-
]);
374-
$table->setPrimaryKey(['id']);
369+
$table = Table::editor()
370+
->setUnquotedName(self::TABLE)
371+
->setColumns(
372+
Column::editor()
373+
->setUnquotedName('id')
374+
->setTypeName(Types::INTEGER)
375+
->create(),
376+
)
377+
->setPrimaryKeyConstraint(
378+
PrimaryKeyConstraint::editor()
379+
->setUnquotedColumnNames('id')
380+
->create(),
381+
)
382+
->create();
375383

376384
$this->dropAndCreateTable($table);
377385

tests/Functional/DataAccessTest.php

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Doctrine\DBAL\Platforms\SQLitePlatform;
1212
use Doctrine\DBAL\Platforms\TrimMode;
1313
use Doctrine\DBAL\Schema\Column;
14+
use Doctrine\DBAL\Schema\PrimaryKeyConstraint;
1415
use Doctrine\DBAL\Schema\Table;
1516
use Doctrine\DBAL\Statement;
1617
use Doctrine\DBAL\Tests\FunctionalTestCase;
@@ -28,23 +29,30 @@ class DataAccessTest extends FunctionalTestCase
2829
{
2930
protected function setUp(): void
3031
{
31-
$table = new Table('fetch_table', [
32-
Column::editor()
33-
->setUnquotedName('test_int')
34-
->setTypeName(Types::INTEGER)
35-
->create(),
36-
Column::editor()
37-
->setUnquotedName('test_string')
38-
->setTypeName(Types::STRING)
39-
->setLength(32)
40-
->create(),
41-
Column::editor()
42-
->setUnquotedName('test_datetime')
43-
->setTypeName(Types::DATETIME_MUTABLE)
44-
->setNotNull(false)
45-
->create(),
46-
]);
47-
$table->setPrimaryKey(['test_int']);
32+
$table = Table::editor()
33+
->setUnquotedName('fetch_table')
34+
->setColumns(
35+
Column::editor()
36+
->setUnquotedName('test_int')
37+
->setTypeName(Types::INTEGER)
38+
->create(),
39+
Column::editor()
40+
->setUnquotedName('test_string')
41+
->setTypeName(Types::STRING)
42+
->setLength(32)
43+
->create(),
44+
Column::editor()
45+
->setUnquotedName('test_datetime')
46+
->setTypeName(Types::DATETIME_MUTABLE)
47+
->setNotNull(false)
48+
->create(),
49+
)
50+
->setPrimaryKeyConstraint(
51+
PrimaryKeyConstraint::editor()
52+
->setUnquotedColumnNames('test_int')
53+
->create(),
54+
)
55+
->create();
4856

4957
$this->dropAndCreateTable($table);
5058

@@ -652,17 +660,24 @@ public function testSqliteDateArithmeticWithDynamicInterval(): void
652660
self::markTestSkipped('test is for sqlite only');
653661
}
654662

655-
$table = new Table('fetch_table_date_math', [
656-
Column::editor()
657-
->setUnquotedName('test_date')
658-
->setTypeName(Types::DATE_MUTABLE)
659-
->create(),
660-
Column::editor()
661-
->setUnquotedName('test_days')
662-
->setTypeName(Types::INTEGER)
663-
->create(),
664-
]);
665-
$table->setPrimaryKey(['test_date']);
663+
$table = Table::editor()
664+
->setUnquotedName('fetch_table_date_math')
665+
->setColumns(
666+
Column::editor()
667+
->setUnquotedName('test_date')
668+
->setTypeName(Types::DATE_MUTABLE)
669+
->create(),
670+
Column::editor()
671+
->setUnquotedName('test_days')
672+
->setTypeName(Types::INTEGER)
673+
->create(),
674+
)
675+
->setPrimaryKeyConstraint(
676+
PrimaryKeyConstraint::editor()
677+
->setUnquotedColumnNames('test_date')
678+
->create(),
679+
)
680+
->create();
666681

667682
$sm = $this->connection->createSchemaManager();
668683
$sm->createTable($table);

0 commit comments

Comments
 (0)