Skip to content

Commit 42af7f9

Browse files
committed
Run PHPCS on unit tests as well.
1 parent e964a1d commit 42af7f9

28 files changed

+817
-578
lines changed

phpcs.xml.dist

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
<!-- Scan these files -->
66
<file>src</file>
7+
<file>tests</file>
78

89
<!-- Ignore vendor directory -->
910
<exclude-pattern>*/vendor/*</exclude-pattern>
@@ -19,7 +20,4 @@
1920

2021
<!-- Enable colors in output -->
2122
<arg name="colors"/>
22-
23-
<!-- Check PHP syntax -->
24-
<arg name="parallel" value="8"/>
2523
</ruleset>

tests/traits/ArrayTransformationTestTrait.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ protected function assertArrayRoundTrip($original, callable $assertCallback): vo
5353
$array = $original->toArray();
5454
$className = get_class($original);
5555
$restored = $className::fromArray($array);
56-
56+
5757
$this->assertInstanceOf($className, $restored, 'fromArray() should return instance of ' . $className);
5858
$assertCallback($original, $restored);
5959
}
@@ -85,4 +85,4 @@ protected function assertArrayNotHasKeys(array $array, array $unexpectedKeys): v
8585
$this->assertArrayNotHasKey($key, $array, "Array should not contain key: {$key}");
8686
}
8787
}
88-
}
88+
}

tests/unit/Common/AbstractDataValueObjectTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,10 @@ public static function getJsonSchema(): array
545545
};
546546

547547
// Verify interface implementations
548-
$this->assertInstanceOf(\WordPress\AiClient\Common\Contracts\WithArrayTransformationInterface::class, $testObject);
548+
$this->assertInstanceOf(
549+
\WordPress\AiClient\Common\Contracts\WithArrayTransformationInterface::class,
550+
$testObject
551+
);
549552
$this->assertInstanceOf(\WordPress\AiClient\Common\Contracts\WithJsonSchemaInterface::class, $testObject);
550553
$this->assertInstanceOf(JsonSerializable::class, $testObject);
551554

@@ -554,4 +557,4 @@ public static function getJsonSchema(): array
554557
$this->assertIsArray($testObject::getJsonSchema());
555558
$this->assertNotNull($testObject->jsonSerialize());
556559
}
557-
}
560+
}

tests/unit/Common/AbstractEnumTest.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ public function testFromWithValidValue(): void
3535
public function testFromWithInvalidValueThrowsException(): void
3636
{
3737
$this->expectException(InvalidArgumentException::class);
38-
$this->expectExceptionMessage('invalid is not a valid backing value for enum WordPress\AiClient\Tests\mocks\Enums\ValidTestEnum');
38+
$this->expectExceptionMessage(
39+
'invalid is not a valid backing value for enum WordPress\AiClient\Tests\mocks\Enums\ValidTestEnum'
40+
);
3941
ValidTestEnum::from('invalid');
4042
}
4143

@@ -193,10 +195,11 @@ public function testIsValidValue(): void
193195
public function testPropertiesAreReadOnly(): void
194196
{
195197
$enum = ValidTestEnum::firstName();
198+
$className = ValidTestEnum::class;
196199

197200
$this->expectException(BadMethodCallException::class);
198201
$this->expectExceptionMessage(
199-
'Cannot modify property WordPress\AiClient\Tests\mocks\Enums\ValidTestEnum::value - enum properties are read-only'
202+
'Cannot modify property ' . $className . '::value - enum properties are read-only'
200203
);
201204
$enum->value = 'modified';
202205
}
@@ -207,10 +210,11 @@ public function testPropertiesAreReadOnly(): void
207210
public function testInvalidPropertyAccessThrowsException(): void
208211
{
209212
$enum = ValidTestEnum::firstName();
213+
$className = ValidTestEnum::class;
210214

211215
$this->expectException(BadMethodCallException::class);
212216
$this->expectExceptionMessage(
213-
'Property WordPress\AiClient\Tests\mocks\Enums\ValidTestEnum::invalid does not exist'
217+
'Property ' . $className . '::invalid does not exist'
214218
);
215219
$enum->invalid;
216220
}

tests/unit/Files/DTO/FileTest.php

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ public function testCreateFromUrl(): void
2323
{
2424
$url = 'https://example.com/image.jpg';
2525
$mimeType = 'image/jpeg';
26-
26+
2727
$file = new File($url, $mimeType);
28-
28+
2929
$this->assertEquals(FileTypeEnum::remote(), $file->getFileType());
3030
$this->assertEquals($url, $file->getUrl());
3131
$this->assertNull($file->getBase64Data());
@@ -42,9 +42,9 @@ public function testCreateFromUrl(): void
4242
public function testCreateFromUrlWithInferredMimeType(): void
4343
{
4444
$url = 'https://example.com/document.pdf';
45-
45+
4646
$file = new File($url);
47-
47+
4848
$this->assertEquals(FileTypeEnum::remote(), $file->getFileType());
4949
$this->assertEquals($url, $file->getUrl());
5050
$this->assertEquals('application/pdf', $file->getMimeType());
@@ -60,9 +60,9 @@ public function testCreateFromDataUri(): void
6060
{
6161
$base64Data = 'SGVsbG8gV29ybGQ=';
6262
$dataUri = 'data:text/plain;base64,' . $base64Data;
63-
63+
6464
$file = new File($dataUri);
65-
65+
6666
$this->assertEquals(FileTypeEnum::inline(), $file->getFileType());
6767
$this->assertNull($file->getUrl());
6868
$this->assertEquals($base64Data, $file->getBase64Data());
@@ -81,9 +81,9 @@ public function testCreateFromDataUriWithMimeTypeOverride(): void
8181
$base64Data = 'SGVsbG8gV29ybGQ=';
8282
$dataUri = 'data:text/plain;base64,' . $base64Data;
8383
$overrideMimeType = 'text/html';
84-
84+
8585
$file = new File($dataUri, $overrideMimeType);
86-
86+
8787
$this->assertEquals(FileTypeEnum::inline(), $file->getFileType());
8888
$this->assertEquals($base64Data, $file->getBase64Data());
8989
$this->assertEquals($overrideMimeType, $file->getMimeType());
@@ -99,9 +99,9 @@ public function testCreateFromPlainBase64(): void
9999
{
100100
$base64Data = 'SGVsbG8gV29ybGQ=';
101101
$mimeType = 'text/plain';
102-
102+
103103
$file = new File($base64Data, $mimeType);
104-
104+
105105
$this->assertEquals(FileTypeEnum::inline(), $file->getFileType());
106106
$this->assertNull($file->getUrl());
107107
$this->assertEquals($base64Data, $file->getBase64Data());
@@ -117,8 +117,10 @@ public function testCreateFromPlainBase64(): void
117117
public function testPlainBase64WithoutMimeTypeThrowsException(): void
118118
{
119119
$this->expectException(InvalidArgumentException::class);
120-
$this->expectExceptionMessage('MIME type is required when providing plain base64 data without data URI format.');
121-
120+
$this->expectExceptionMessage(
121+
'MIME type is required when providing plain base64 data without data URI format.'
122+
);
123+
122124
new File('SGVsbG8gV29ybGQ=');
123125
}
124126

@@ -132,10 +134,10 @@ public function testCreateFromLocalFile(): void
132134
// Create a temporary file
133135
$tempFile = tempnam(sys_get_temp_dir(), 'test');
134136
file_put_contents($tempFile, 'Hello World');
135-
137+
136138
try {
137139
$file = new File($tempFile, 'text/plain');
138-
140+
139141
$this->assertEquals(FileTypeEnum::inline(), $file->getFileType());
140142
$this->assertNull($file->getUrl());
141143
$this->assertEquals(base64_encode('Hello World'), $file->getBase64Data());
@@ -154,7 +156,7 @@ public function testInvalidFileFormatThrowsException(): void
154156
{
155157
$this->expectException(InvalidArgumentException::class);
156158
$this->expectExceptionMessage('Invalid file provided. Expected URL, base64 data, or valid local file path.');
157-
159+
158160
new File('not-a-valid-file-or-url', 'text/plain');
159161
}
160162

@@ -167,7 +169,7 @@ public function testNonExistentLocalFileThrowsException(): void
167169
{
168170
$this->expectException(InvalidArgumentException::class);
169171
$this->expectExceptionMessage('Invalid file provided. Expected URL, base64 data, or valid local file path.');
170-
172+
171173
new File('/path/to/non/existent/file.txt', 'text/plain');
172174
}
173175

@@ -181,11 +183,13 @@ public function testDirectoryThrowsException(): void
181183
// Create a directory instead of a file
182184
$tempDir = sys_get_temp_dir() . '/test_dir_' . uniqid();
183185
mkdir($tempDir);
184-
186+
185187
try {
186188
$this->expectException(InvalidArgumentException::class);
187-
$this->expectExceptionMessage('Invalid file provided. Expected URL, base64 data, or valid local file path.');
188-
189+
$this->expectExceptionMessage(
190+
'Invalid file provided. Expected URL, base64 data, or valid local file path.'
191+
);
192+
189193
new File($tempDir, 'text/plain');
190194
} finally {
191195
rmdir($tempDir);
@@ -200,7 +204,7 @@ public function testDirectoryThrowsException(): void
200204
public function testMimeTypeMethods(): void
201205
{
202206
$file = new File('https://example.com/video.mp4');
203-
207+
204208
$this->assertEquals('video/mp4', $file->getMimeType());
205209
$this->assertInstanceOf(\WordPress\AiClient\Files\ValueObjects\MimeType::class, $file->getMimeTypeObject());
206210
$this->assertTrue($file->isVideo());
@@ -217,27 +221,33 @@ public function testMimeTypeMethods(): void
217221
public function testJsonSchema(): void
218222
{
219223
$schema = File::getJsonSchema();
220-
224+
221225
$this->assertIsArray($schema);
222226
$this->assertEquals('object', $schema['type']);
223227
$this->assertArrayHasKey('oneOf', $schema);
224228
$this->assertCount(2, $schema['oneOf']);
225-
229+
226230
// Check remote file schema
227231
$remoteSchema = $schema['oneOf'][0];
228232
$this->assertArrayHasKey('properties', $remoteSchema);
229233
$this->assertArrayHasKey(File::KEY_FILE_TYPE, $remoteSchema['properties']);
230234
$this->assertArrayHasKey(File::KEY_MIME_TYPE, $remoteSchema['properties']);
231235
$this->assertArrayHasKey(File::KEY_URL, $remoteSchema['properties']);
232-
$this->assertEquals([File::KEY_FILE_TYPE, File::KEY_MIME_TYPE, File::KEY_URL], $remoteSchema['required']);
233-
236+
$this->assertEquals(
237+
[File::KEY_FILE_TYPE, File::KEY_MIME_TYPE, File::KEY_URL],
238+
$remoteSchema['required']
239+
);
240+
234241
// Check inline file schema
235242
$inlineSchema = $schema['oneOf'][1];
236243
$this->assertArrayHasKey('properties', $inlineSchema);
237244
$this->assertArrayHasKey(File::KEY_FILE_TYPE, $inlineSchema['properties']);
238245
$this->assertArrayHasKey(File::KEY_MIME_TYPE, $inlineSchema['properties']);
239246
$this->assertArrayHasKey(File::KEY_BASE64_DATA, $inlineSchema['properties']);
240-
$this->assertEquals([File::KEY_FILE_TYPE, File::KEY_MIME_TYPE, File::KEY_BASE64_DATA], $inlineSchema['required']);
247+
$this->assertEquals(
248+
[File::KEY_FILE_TYPE, File::KEY_MIME_TYPE, File::KEY_BASE64_DATA],
249+
$inlineSchema['required']
250+
);
241251
}
242252

243253
/**
@@ -249,10 +259,10 @@ public function testDataUriWithoutMimeType(): void
249259
{
250260
$base64Data = 'SGVsbG8gV29ybGQ=';
251261
$dataUri = 'data:;base64,' . $base64Data;
252-
262+
253263
$this->expectException(InvalidArgumentException::class);
254264
$this->expectExceptionMessage('Unable to determine MIME type. Please provide it explicitly.');
255-
265+
256266
new File($dataUri);
257267
}
258268

@@ -265,7 +275,7 @@ public function testUrlWithUnknownExtension(): void
265275
{
266276
$this->expectException(InvalidArgumentException::class);
267277
$this->expectExceptionMessage('Unable to determine MIME type. Please provide it explicitly.');
268-
278+
269279
new File('https://example.com/file.unknown');
270280
}
271281

@@ -278,7 +288,7 @@ public function testToArrayRemoteFile(): void
278288
{
279289
$file = new File('https://example.com/image.jpg', 'image/jpeg');
280290
$json = $file->toArray();
281-
291+
282292
$this->assertIsArray($json);
283293
$this->assertEquals(\WordPress\AiClient\Files\Enums\FileTypeEnum::remote()->value, $json[File::KEY_FILE_TYPE]);
284294
$this->assertEquals('image/jpeg', $json[File::KEY_MIME_TYPE]);
@@ -297,7 +307,7 @@ public function testToArrayInlineFile(): void
297307
$dataUri = 'data:text/plain;base64,' . $base64Data;
298308
$file = new File($dataUri);
299309
$json = $file->toArray();
300-
310+
301311
$this->assertIsArray($json);
302312
$this->assertEquals(\WordPress\AiClient\Files\Enums\FileTypeEnum::inline()->value, $json[File::KEY_FILE_TYPE]);
303313
$this->assertEquals('text/plain', $json[File::KEY_MIME_TYPE]);
@@ -317,9 +327,9 @@ public function testFromArrayRemoteFile(): void
317327
File::KEY_MIME_TYPE => 'image/png',
318328
File::KEY_URL => 'https://example.com/test.png'
319329
];
320-
330+
321331
$file = File::fromArray($json);
322-
332+
323333
$this->assertInstanceOf(File::class, $file);
324334
$this->assertTrue($file->getFileType()->isRemote());
325335
$this->assertEquals('image/png', $file->getMimeType());
@@ -340,9 +350,9 @@ public function testFromArrayInlineFile(): void
340350
File::KEY_MIME_TYPE => 'text/plain',
341351
File::KEY_BASE64_DATA => $base64Data
342352
];
343-
353+
344354
$file = File::fromArray($json);
345-
355+
346356
$this->assertInstanceOf(File::class, $file);
347357
$this->assertTrue($file->getFileType()->isInline());
348358
$this->assertEquals('text/plain', $file->getMimeType());
@@ -361,17 +371,17 @@ public function testArrayRoundTrip(): void
361371
$remoteFile = new File('https://example.com/doc.pdf', 'application/pdf');
362372
$remoteJson = $remoteFile->toArray();
363373
$restoredRemote = File::fromArray($remoteJson);
364-
374+
365375
$this->assertEquals($remoteFile->getFileType()->value, $restoredRemote->getFileType()->value);
366376
$this->assertEquals($remoteFile->getMimeType(), $restoredRemote->getMimeType());
367377
$this->assertEquals($remoteFile->getUrl(), $restoredRemote->getUrl());
368-
378+
369379
// Test inline file
370380
$dataUri = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
371381
$inlineFile = new File($dataUri);
372382
$inlineJson = $inlineFile->toArray();
373383
$restoredInline = File::fromArray($inlineJson);
374-
384+
375385
$this->assertEquals($inlineFile->getFileType()->value, $restoredInline->getFileType()->value);
376386
$this->assertEquals($inlineFile->getMimeType(), $restoredInline->getMimeType());
377387
$this->assertEquals($inlineFile->getBase64Data(), $restoredInline->getBase64Data());
@@ -385,11 +395,10 @@ public function testArrayRoundTrip(): void
385395
public function testImplementsWithArrayTransformationInterface(): void
386396
{
387397
$file = new File('https://example.com/test.jpg');
388-
398+
389399
$this->assertInstanceOf(
390400
\WordPress\AiClient\Common\Contracts\WithArrayTransformationInterface::class,
391401
$file
392402
);
393-
394403
}
395-
}
404+
}

tests/unit/Files/Enums/FileTypeEnumTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,4 @@ public function testSpecificEnumMethods(): void
5353
$this->assertTrue($remote->isRemote());
5454
$this->assertFalse($remote->isInline());
5555
}
56-
}
56+
}

0 commit comments

Comments
 (0)