Skip to content

Commit 6d685a2

Browse files
Added test coverage for ulid handling within RegistryModifier
1 parent c1e4ff9 commit 6d685a2

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

tests/Behavior/Functional/Driver/Common/Schema/RegistryModifierTest.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,28 @@ public function testAddBigIntegerFieldThrowsException(): void
8080
$this->modifier->addBigIntegerColumn('snowflake_column', 'snowflake');
8181
}
8282

83+
public function testAddUlidField(): void
84+
{
85+
$this->modifier->addUlidColumn('ulid_column', 'ulid');
86+
87+
$entity = $this->registry->getEntity(self::ROLE_TEST);
88+
$fields = $entity->getFields();
89+
90+
$this->assertTrue($fields->has('ulid'));
91+
$this->assertSame('ulid', $fields->get('ulid')->getType());
92+
$this->assertSame('ulid_column', $fields->get('ulid')->getColumn());
93+
}
94+
95+
public function testAddUlidFieldThrowsException(): void
96+
{
97+
$this->modifier->addIntegerColumn('ulid_column', 'ulid');
98+
99+
$this->expectException(BehaviorCompilationException::class);
100+
$this->expectExceptionMessage('Field ulid must be of type ulid.');
101+
102+
$this->modifier->addUlidColumn('ulid_column', 'ulid');
103+
}
104+
83105
public function testAddUuidField(): void
84106
{
85107
$this->modifier->addUuidColumn('uuid_column', 'uuid');
@@ -92,6 +114,16 @@ public function testAddUuidField(): void
92114
$this->assertSame('uuid_column', $fields->get('uuid')->getColumn());
93115
}
94116

117+
public function testAddUuidFieldThrowsException(): void
118+
{
119+
$this->modifier->addIntegerColumn('uuid_column', 'uuid');
120+
121+
$this->expectException(BehaviorCompilationException::class);
122+
$this->expectExceptionMessage('Field uuid must be of type uuid.');
123+
124+
$this->modifier->addUuidColumn('uuid_column', 'uuid');
125+
}
126+
95127
public function testAddTypecast(): void
96128
{
97129
$this->modifier->addUuidColumn('uuid_column', 'uuid');

tests/Behavior/Unit/Schema/RegistryModifierTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,22 @@ public function testIsStringTypeFalse(mixed $type): void
121121
$this->assertFalse(RegistryModifier::isStringType($type));
122122
}
123123

124+
public function testIsUlidTypeTrue(): void
125+
{
126+
$this->assertTrue(RegistryModifier::isUlidType('ulid'));
127+
}
128+
129+
/**
130+
* @dataProvider integerDataProvider
131+
* @dataProvider datetimeDataProvider
132+
* @dataProvider invalidDataProvider
133+
* @dataProvider stringDataProvider
134+
*/
135+
public function testIsUlidTypeFalse(mixed $type): void
136+
{
137+
$this->assertFalse(RegistryModifier::isUlidType($type));
138+
}
139+
124140
public function testIsUuidTypeTrue(): void
125141
{
126142
$this->assertTrue(RegistryModifier::isUuidType('uuid'));

0 commit comments

Comments
 (0)