From ff963a9df48c0acecc13a9a0a2d7c22ba9ac7363 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Wed, 21 Feb 2024 19:14:30 +0100 Subject: [PATCH] Add API test for short URL path prefix --- .../Rest/test-api/Action/CreateShortUrlTest.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/module/Rest/test-api/Action/CreateShortUrlTest.php b/module/Rest/test-api/Action/CreateShortUrlTest.php index f612f628..96dc5e7b 100644 --- a/module/Rest/test-api/Action/CreateShortUrlTest.php +++ b/module/Rest/test-api/Action/CreateShortUrlTest.php @@ -8,6 +8,7 @@ use Cake\Chronos\Chronos; use GuzzleHttp\RequestOptions; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Test; +use PHPUnit\Framework\Attributes\TestWith; use Shlinkio\Shlink\TestUtils\ApiTest\ApiTestCase; use function array_map; @@ -339,6 +340,21 @@ class CreateShortUrlTest extends ApiTestCase self::assertNull($payload['title']); } + #[Test] + #[TestWith([null])] + #[TestWith(['my-custom-slug'])] + public function prefixCanBeSet(?string $customSlug): void + { + [$statusCode, $payload] = $this->createShortUrl([ + 'longUrl' => 'https://github.com/shlinkio/shlink/issues/1557', + 'pathPrefix' => 'foo/b ar-baz', + 'customSlug' => $customSlug, + ]); + + self::assertEquals(self::STATUS_OK, $statusCode); + self::assertStringStartsWith('foo-b--ar-baz', $payload['shortCode']); + } + /** * @return array{int, array} */