Skip to content

Commit f8f524e

Browse files
authored
Re-enable and fix test (#39090)
1 parent fc19b75 commit f8f524e

File tree

1 file changed

+44
-29
lines changed

1 file changed

+44
-29
lines changed

tests/Database/DatabaseSchemaBlueprintIntegrationTest.php

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -43,35 +43,50 @@ protected function tearDown(): void
4343
Facade::setFacadeApplication(null);
4444
}
4545

46-
// public function testRenamingAndChangingColumnsWork()
47-
// {
48-
// $this->db->connection()->getSchemaBuilder()->create('users', function ($table) {
49-
// $table->string('name');
50-
// $table->string('age');
51-
// });
52-
53-
// $blueprint = new Blueprint('users', function ($table) {
54-
// $table->renameColumn('name', 'first_name');
55-
// $table->integer('age')->change();
56-
// });
57-
58-
// $queries = $blueprint->toSql($this->db->connection(), new SQLiteGrammar);
59-
60-
// $expected = [
61-
// 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
62-
// 'DROP TABLE users',
63-
// 'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL)',
64-
// 'INSERT INTO users (name, age) SELECT name, age FROM __temp__users',
65-
// 'DROP TABLE __temp__users',
66-
// 'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
67-
// 'DROP TABLE users',
68-
// 'CREATE TABLE users (age VARCHAR(255) NOT NULL COLLATE BINARY, first_name VARCHAR(255) NOT NULL)',
69-
// 'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users',
70-
// 'DROP TABLE __temp__users',
71-
// ];
72-
73-
// $this->assertEquals($expected, $queries);
74-
// }
46+
public function testRenamingAndChangingColumnsWork()
47+
{
48+
$this->db->connection()->getSchemaBuilder()->create('users', function ($table) {
49+
$table->string('name');
50+
$table->string('age');
51+
});
52+
53+
$blueprint = new Blueprint('users', function ($table) {
54+
$table->renameColumn('name', 'first_name');
55+
$table->integer('age')->change();
56+
});
57+
58+
$queries = $blueprint->toSql($this->db->connection(), new SQLiteGrammar);
59+
60+
// Expect one of the following two query sequences to be present...
61+
$expected = [
62+
[
63+
'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
64+
'DROP TABLE users',
65+
'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL)',
66+
'INSERT INTO users (name, age) SELECT name, age FROM __temp__users',
67+
'DROP TABLE __temp__users',
68+
'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
69+
'DROP TABLE users',
70+
'CREATE TABLE users (age VARCHAR(255) NOT NULL COLLATE BINARY, first_name VARCHAR(255) NOT NULL)',
71+
'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users',
72+
'DROP TABLE __temp__users',
73+
],
74+
[
75+
'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
76+
'DROP TABLE users',
77+
'CREATE TABLE users (name VARCHAR(255) NOT NULL COLLATE BINARY, age INTEGER NOT NULL)',
78+
'INSERT INTO users (name, age) SELECT name, age FROM __temp__users',
79+
'DROP TABLE __temp__users',
80+
'CREATE TEMPORARY TABLE __temp__users AS SELECT name, age FROM users',
81+
'DROP TABLE users',
82+
'CREATE TABLE users (first_name VARCHAR(255) NOT NULL, age VARCHAR(255) NOT NULL COLLATE BINARY)',
83+
'INSERT INTO users (first_name, age) SELECT name, age FROM __temp__users',
84+
'DROP TABLE __temp__users',
85+
],
86+
];
87+
88+
$this->assertTrue(in_array($queries, $expected));
89+
}
7590

7691
public function testChangingColumnWithCollationWorks()
7792
{

0 commit comments

Comments
 (0)