From bebeb80709c53857be7a0720ccd45154d6883eaf Mon Sep 17 00:00:00 2001 From: Rancoud Date: Sat, 14 Dec 2024 19:28:46 +0100 Subject: [PATCH] chore: update tests for phpunit 10 and 11 (#113) --- tests/Common.php | 6 +- tests/www/API/APIRenderTest.php | 42 +- tests/www/API/APIUploadTest.php | 84 +- .../Blueprint/Diff/BlueprintDiffGETTest.php | 447 +++--- .../BlueprintDiffGETVersionsBlueprintTest.php | 100 +- .../Blueprint/Edit/BlueprintEditGETTest.php | 104 +- .../Edit/BlueprintEditPOSTAddVersionTest.php | 268 ++-- .../BlueprintEditPOSTDeleteBlueprintTest.php | 312 ++-- .../BlueprintEditPOSTDeleteThumbnailTest.php | 112 +- .../BlueprintEditPOSTEditInformationsTest.php | 532 +++---- .../BlueprintEditPOSTEditPropertiesTest.php | 644 ++++---- tests/www/Blueprint/RenderTest.php | 277 ++-- .../View/BlueprintGETAuthorBlueprintTest.php | 34 +- .../View/BlueprintGETCommentsTest.php | 304 ++-- .../View/BlueprintGETEditBlueprintTest.php | 44 +- .../View/BlueprintGETFileBlueprintTest.php | 16 +- .../BlueprintGETInformationsBlueprintTest.php | 32 +- ...rintGETTagsAndDescriptionBlueprintTest.php | 12 +- tests/www/Blueprint/View/BlueprintGETTest.php | 509 +++---- .../BlueprintGETVersionsBlueprintTest.php | 44 +- .../View/BlueprintGETVideoBlueprintTest.php | 18 +- .../View/BlueprintPOSTAddCommentTest.php | 246 ++-- .../View/BlueprintPOSTClaimBlueprintTest.php | 268 ++-- .../View/BlueprintPOSTDeleteBlueprintTest.php | 268 ++-- .../View/BlueprintPOSTDeleteCommentTest.php | 264 ++-- ...lueprintPOSTDeleteVersionBlueprintTest.php | 334 ++--- .../View/BlueprintPOSTEditCommentTest.php | 420 +++--- tests/www/Contact/ContactTest.php | 346 ++--- .../www/ForgotPassword/ForgotPasswordTest.php | 322 ++-- .../www/ForgotPassword/ResetPasswordTest.php | 406 +++--- tests/www/Home/HomeLastBlueprintsTest.php | 70 +- tests/www/Home/HomeTest.php | 604 ++++---- .../www/IntegrationTest/Helper/HelperTest.php | 10 +- .../www/IntegrationTest/Helper/MailerTest.php | 46 +- .../Service/Blueprint/BlueprintTypeTest.php | 4 +- .../Service/Blueprint/VideoTest.php | 764 +++++----- .../Service/Tag/TagsTextareaTest.php | 82 +- tests/www/Lists/LastListTest.php | 224 +-- tests/www/Lists/MostDiscussedListTest.php | 269 ++-- tests/www/Lists/TagListTest.php | 398 ++--- tests/www/Lists/TagsListTest.php | 44 +- tests/www/Lists/TypeListTest.php | 869 +++++------ tests/www/Login/LoginTest.php | 564 +++---- tests/www/Login/LoginWithRememberTest.php | 16 +- tests/www/Login/LogoutTest.php | 28 +- tests/www/Profile/Edit/ProfileEditGETTest.php | 60 +- .../Edit/ProfileEditPOSTChangeEmailTest.php | 204 +-- .../ProfileEditPOSTChangePasswordTest.php | 384 ++--- .../ProfileEditPOSTChangeUsernameTest.php | 204 +-- .../Edit/ProfileEditPOSTDeleteAvatarTest.php | 112 +- .../Edit/ProfileEditPOSTDeleteProfileTest.php | 466 +++--- .../ProfileEditPOSTEditBasicInfosTest.php | 196 +-- .../Edit/ProfileEditPOSTEditSocialsTest.php | 604 ++++---- .../ProfileEditPOSTGenerateAPIKeyTest.php | 46 +- tests/www/Profile/View/ProfileTest.php | 768 +++++----- tests/www/Register/ConfirmAccountTest.php | 84 +- tests/www/Register/RegisterTest.php | 781 +++++----- tests/www/Search/SearchListTest.php | 140 +- tests/www/Search/SearchQueryCases.php | 220 +-- tests/www/Search/SearchQueryTypeCases.php | 988 ++++++------- .../Search/SearchQueryTypeVersionCases.php | 988 ++++++------- tests/www/Search/SearchQueryVersionCases.php | 220 +-- tests/www/Search/SearchTypeCases.php | 988 ++++++------- tests/www/Search/SearchTypeVersionCases.php | 988 ++++++------- tests/www/Search/SearchVersionCases.php | 220 +-- tests/www/Search/SearchXssListTest.php | 54 +- tests/www/StaticPages/StaticTest.php | 8 +- tests/www/Upload/UploadTest.php | 1290 +++++++++-------- 68 files changed, 10488 insertions(+), 10332 deletions(-) diff --git a/tests/Common.php b/tests/Common.php index 0872bad..2664ae3 100644 --- a/tests/Common.php +++ b/tests/Common.php @@ -371,7 +371,7 @@ protected function getHostname(): string * * @return string */ - protected function getEmailHTMLConfirmAccount(string $username): string + protected static function getEmailHTMLConfirmAccount(string $username): string { \ob_start(); $ds = \DIRECTORY_SEPARATOR; @@ -407,7 +407,7 @@ protected function getEmailHTMLConfirmAccount(string $username): string * * @return string */ - protected function getEmailTextConfirmAccount(string $username): string + protected static function getEmailTextConfirmAccount(string $username): string { $text = 'Welcome to this_site_name' . "\n\n"; $text .= 'We are excited to have you on board!' . "\n"; @@ -437,7 +437,7 @@ protected static function cleanFiles(): void * * @return string */ - public function getSince(string $publishedAt): string + public static function getSince(string $publishedAt): string { $publishedAtObject = new DateTime($publishedAt); $nowObject = new DateTime(); diff --git a/tests/www/API/APIRenderTest.php b/tests/www/API/APIRenderTest.php index 5a2aa55..ea4e856 100644 --- a/tests/www/API/APIRenderTest.php +++ b/tests/www/API/APIRenderTest.php @@ -9,6 +9,7 @@ namespace tests\www\API; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\Application; use Rancoud\Application\ApplicationException; @@ -32,7 +33,7 @@ public static function setUpBeforeClass(): void static::$db->insert("INSERT INTO users_api (id_user, api_key) VALUES (1, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"); } - public function dataCases(): array + public static function dataCases(): array { return [ 'render - OK' => [ @@ -42,8 +43,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 200, - 'response_content' => << 200, + 'responseContent' => << @@ -91,16 +92,16 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_incorrect"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_incorrect"}', ], 'headers empty' => [ 'headers' => [], 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_empty"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_empty"}', ], 'api key empty' => [ 'headers' => [ @@ -109,8 +110,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_empty"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_empty"}', ], 'api key invalid encoding' => [ 'headers' => [ @@ -119,16 +120,16 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_incorrect"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_incorrect"}', ], 'missing fields - no fields' => [ 'headers' => [ 'X-Token' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ], - 'params' => [], - 'response_code' => 400, - 'response_content' => '{"error":"blueprint_empty"}', + 'params' => [], + 'responseCode' => 400, + 'responseContent' => '{"error":"blueprint_empty"}', ], 'empty fields - blueprint empty' => [ 'headers' => [ @@ -137,8 +138,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => ' ', ], - 'response_code' => 400, - 'response_content' => '{"error":"blueprint_empty"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"blueprint_empty"}', ], 'invalid fields - blueprint' => [ 'headers' => [ @@ -147,8 +148,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'aze', ], - 'response_code' => 400, - 'response_content' => '{"error":"blueprint_empty"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"blueprint_empty"}', ], 'invalid encoding fields - blueprint' => [ 'headers' => [ @@ -157,8 +158,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => \chr(99999999) ], - 'response_code' => 400, - 'response_content' => '{"error":"blueprint_empty"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"blueprint_empty"}', ] ]; } @@ -176,6 +177,7 @@ public function dataCases(): array * @throws RouterException * @throws \Rancoud\Database\DatabaseException */ + #[DataProvider('dataCases')] public function testRenderPOST(array $headers, array $params, int $responseCode, string $responseContent): void { $ds = \DIRECTORY_SEPARATOR; diff --git a/tests/www/API/APIUploadTest.php b/tests/www/API/APIUploadTest.php index fbc4b7a..c50f2fc 100644 --- a/tests/www/API/APIUploadTest.php +++ b/tests/www/API/APIUploadTest.php @@ -10,6 +10,7 @@ namespace tests\www\API; use app\helpers\Helper; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\Application; use Rancoud\Application\ApplicationException; @@ -34,7 +35,7 @@ public static function setUpBeforeClass(): void static::$db->insert('INSERT INTO users_infos (id_user) VALUES (1)'); } - public function dataCases(): array + public static function dataCases(): array { return [ 'upload - OK' => [ @@ -45,8 +46,8 @@ public function dataCases(): array 'title' => 'my title', 'blueprint' => 'begin object 1', ], - 'response_code' => 200, - 'response_content' => '{"key":"xxxxxxxx"}', + 'responseCode' => 200, + 'responseContent' => '{"key":"xxxxxxxx"}', ], 'upload with extra infos - OK' => [ 'headers' => [ @@ -59,8 +60,8 @@ public function dataCases(): array 'expiration' => '3600', 'version' => '4.12', ], - 'response_code' => 200, - 'response_content' => '{"key":"xxxxxxxx"}', + 'responseCode' => 200, + 'responseContent' => '{"key":"xxxxxxxx"}', ], 'api key incorrect' => [ 'headers' => [ @@ -69,16 +70,16 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_incorrect"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_incorrect"}', ], 'headers empty' => [ 'headers' => [], 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_empty"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_empty"}', ], 'api key empty' => [ 'headers' => [ @@ -87,8 +88,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_empty"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_empty"}', ], 'api key invalid encoding' => [ 'headers' => [ @@ -97,16 +98,16 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 401, - 'response_content' => '{"error":"api_key_incorrect"}', + 'responseCode' => 401, + 'responseContent' => '{"error":"api_key_incorrect"}', ], 'missing fields - no fields' => [ 'headers' => [ 'X-Token' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ], 'params' => [], - 'response_code' => 400, - 'response_content' => '{"error":"required_title"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"required_title"}', ], 'missing fields - no title' => [ 'headers' => [ @@ -115,8 +116,8 @@ public function dataCases(): array 'params' => [ 'blueprint' => 'begin object 1', ], - 'response_code' => 400, - 'response_content' => '{"error":"required_title"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"required_title"}', ], 'missing fields - no blueprint' => [ 'headers' => [ @@ -125,8 +126,8 @@ public function dataCases(): array 'params' => [ 'title' => 'my title', ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_blueprint"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_blueprint"}', ], 'empty fields - title empty' => [ 'headers' => [ @@ -136,8 +137,8 @@ public function dataCases(): array 'title' => ' ', 'blueprint' => 'begin object 1', ], - 'response_code' => 400, - 'response_content' => '{"error":"required_title"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"required_title"}', ], 'empty fields - blueprint empty' => [ 'headers' => [ @@ -147,8 +148,8 @@ public function dataCases(): array 'title' => 'my title', 'blueprint' => ' ', ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_blueprint"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_blueprint"}', ], 'invalid fields - blueprint' => [ 'headers' => [ @@ -158,8 +159,8 @@ public function dataCases(): array 'title' => 'my title', 'blueprint' => 'aze', ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_blueprint"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_blueprint"}', ], 'invalid fields - exposure' => [ 'headers' => [ @@ -170,8 +171,8 @@ public function dataCases(): array 'blueprint' => 'begin object 1', 'exposure' => 'xxx', ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_exposure"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_exposure"}', ], 'invalid fields - expiration' => [ 'headers' => [ @@ -182,8 +183,8 @@ public function dataCases(): array 'blueprint' => 'begin object 1', 'expiration' => 'xxx' ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_expiration"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_expiration"}', ], 'invalid fields - version' => [ 'headers' => [ @@ -195,8 +196,8 @@ public function dataCases(): array 'version' => 'xxx', 'expiration' => '604800' ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid_version"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid_version"}', ], 'do throw exception' => [ 'headers' => [ @@ -207,8 +208,8 @@ public function dataCases(): array 'blueprint' => 'begin object 1', 'do throw exception' => 'do throw exception' ], - 'response_code' => 400, - 'response_content' => '{"error":"error_insert_blueprint_#200"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"error_insert_blueprint_#200"}', ], 'invalid encoding fields - title' => [ 'headers' => [ @@ -220,8 +221,8 @@ public function dataCases(): array 'version' => 'public', 'expiration' => '604800' ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid"}', ], 'invalid encoding fields - blueprint' => [ 'headers' => [ @@ -233,8 +234,8 @@ public function dataCases(): array 'version' => 'public', 'expiration' => '604800' ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid"}', ], 'invalid encoding fields - version' => [ 'headers' => [ @@ -246,8 +247,8 @@ public function dataCases(): array 'version' => \chr(99999999), 'expiration' => '604800' ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid"}', ], 'invalid encoding fields - expiration' => [ 'headers' => [ @@ -259,8 +260,8 @@ public function dataCases(): array 'version' => 'public', 'expiration' => \chr(99999999) ], - 'response_code' => 400, - 'response_content' => '{"error":"invalid"}', + 'responseCode' => 400, + 'responseContent' => '{"error":"invalid"}', ] ]; } @@ -279,6 +280,7 @@ public function dataCases(): array * @throws \Rancoud\Database\DatabaseException * @throws \Exception */ + #[DataProvider('dataCases')] public function testUploadPOST(array $headers, array $params, int $responseCode, string $responseContent): void { $ds = \DIRECTORY_SEPARATOR; diff --git a/tests/www/Blueprint/Diff/BlueprintDiffGETTest.php b/tests/www/Blueprint/Diff/BlueprintDiffGETTest.php index a8a6ddc..f11643d 100644 --- a/tests/www/Blueprint/Diff/BlueprintDiffGETTest.php +++ b/tests/www/Blueprint/Diff/BlueprintDiffGETTest.php @@ -10,6 +10,7 @@ namespace tests\www\Blueprint\Diff; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\ApplicationException; use Rancoud\Database\DatabaseException; @@ -40,475 +41,475 @@ protected function tearDown(): void } } - public function dataCasesBlueprintGET(): array + public static function dataCasesBlueprintGET(): array { return [ 'no blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', ], - 'user_id' => null, - 'slug' => 'slug_incorrect/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_incorrect/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'no blueprints - no published_at - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug', 'file', 'title', 1, utc_timestamp(), null, 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'no blueprints - public but expiration passed - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, expiration) VALUES (1, 'slug', 'file', 'title', 1, utc_timestamp(), utc_timestamp(), 'public', '2020-01-01 01:01:01')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'no blueprints - deleted - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, deleted_at) VALUES (1, 'slug', 'file', 'title', 1, utc_timestamp(), utc_timestamp(), 'public', utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'visitor user - public blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at) VALUES (1, 'slug_public', 'file', 'visitor user - public blueprint - OK', 1, utc_timestamp(), utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for visitor user - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => null, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for visitor user - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'visitor user - unlisted blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'visitor user - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for visitor user - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => null, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for visitor user - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'visitor user - private blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_private', 'file', 'visitor user - private blueprint - KO', 1, utc_timestamp(), utc_timestamp(), 'private')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'visitor user - deleted blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, deleted_at) VALUES (1, 'slug_private', 'file', 'visitor user - private blueprint - KO', 1, utc_timestamp(), utc_timestamp(), 'public', utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'user lambda - public blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'user lambda - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for user lambda - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 10, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for user lambda - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'user lambda - unlisted blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'user lambda - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for user lambda - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 10, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for user lambda - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'user lambda - private blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_private', 'file', 'user lambda - private blueprint - KO', 1, utc_timestamp(), utc_timestamp(), 'private')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 10, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'user lambda - deleted blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, deleted_at) VALUES (1, 'slug_private', 'file', 'user lambda - private blueprint - KO', 1, utc_timestamp(), utc_timestamp(), 'public', utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 10, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'author - public blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'author - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 1, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'author - unlisted blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'author - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 1, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'author - private blueprint - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, description) VALUES (1, 'slug_private', 'file', 'author - private blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'private', 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - private blueprint - OK posted by member | This is a base title', - 'header_description' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has', + 'userID' => 1, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - private blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has', ], 'author - deleted blueprint - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, description, deleted_at) VALUES (1, 'slug_private', 'file', 'author - private blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'private', 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.', utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 1, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], ]; } - public function dataCasesBlueprintGETVersionAccess(): array + public static function dataCasesBlueprintGETVersionAccess(): array { return [ 'visitor user - public blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at) VALUES (1, 'slug_public', 'file', 'visitor user - public blueprint - OK', 1, utc_timestamp(), utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for visitor user - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => null, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for visitor user - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'visitor user - public blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at) VALUES (1, 'slug_public', 'file', 'visitor user - public blueprint - OK', 1, utc_timestamp(), utc_timestamp())", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_public/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_public/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'visitor user - public blueprint - no blueprints versions (not realistic case) - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at) VALUES (1, 'slug_public', 'file', 'visitor user - public blueprint - OK', 1, utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'visitor user - unlisted blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'visitor user - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for visitor user - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => null, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for visitor user - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'visitor user - unlisted blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'visitor user - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => null, - 'slug' => 'slug_unlisted/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => null, + 'slug' => 'slug_unlisted/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'user lambda - public blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'user lambda - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for user lambda - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 10, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for user lambda - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'user lambda - public blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'user lambda - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_public/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 10, + 'slug' => 'slug_public/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'user lambda - unlisted blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'user lambda - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for user lambda - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 10, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for user lambda - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'user lambda - unlisted blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'user lambda - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 10, - 'slug' => 'slug_unlisted/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 10, + 'slug' => 'slug_unlisted/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'author - public blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'author - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_public/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - public blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 1, + 'slug' => 'slug_public/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - public blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'author - public blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_public', 'file', 'author - public blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'public')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_public/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 1, + 'slug' => 'slug_public/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'author - unlisted blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'author - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_unlisted/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - unlisted blueprint - OK posted by member | This is a base title', - 'header_description' => 'No description provided', + 'userID' => 1, + 'slug' => 'slug_unlisted/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - unlisted blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'No description provided', ], 'author - unlisted blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 'slug_unlisted', 'file', 'author - unlisted blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'unlisted')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_unlisted/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 1, + 'slug' => 'slug_unlisted/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], 'author - private blueprint - valid version - OK' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, description) VALUES (1, 'slug_private', 'file', 'author - private blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'private', 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_private/1/diff/1/', - 'status_code' => 200, - 'location' => null, - 'header_title' => 'Diff between version 1 and 1 for author - private blueprint - OK posted by member | This is a base title', - 'header_description' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has', + 'userID' => 1, + 'slug' => 'slug_private/1/diff/1/', + 'statusCode' => 200, + 'location' => null, + 'headerTitle' => 'Diff between version 1 and 1 for author - private blueprint - OK posted by member | This is a base title', + 'headerDescription' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has', ], 'author - private blueprint - invalid version - KO' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, description) VALUES (1, 'slug_private', 'file', 'author - private blueprint - OK', 1, utc_timestamp(), utc_timestamp(), 'private', 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'user_id' => 1, - 'slug' => 'slug_private/2/diff/2/', - 'status_code' => 301, - 'location' => '/', - 'header_title' => null, - 'header_description' => null, + 'userID' => 1, + 'slug' => 'slug_private/2/diff/2/', + 'statusCode' => 301, + 'location' => '/', + 'headerTitle' => null, + 'headerDescription' => null, ], ]; } @@ -519,7 +520,7 @@ public function dataCasesBlueprintGETVersionAccess(): array * * @param array $sqlQueries * @param int|null $userID - * @param string $slugBlueprint + * @param string $slug * @param int $statusCode * @param string|null $location * @param string|null $headerTitle @@ -531,7 +532,9 @@ public function dataCasesBlueprintGETVersionAccess(): array * @throws RouterException * @throws SecurityException */ - public function testBlueprintGET(array $sqlQueries, ?int $userID, string $slugBlueprint, int $statusCode, ?string $location, ?string $headerTitle, ?string $headerDescription): void + #[DataProvider('dataCasesBlueprintGET')] + #[DataProvider('dataCasesBlueprintGETVersionAccess')] + public function testBlueprintGET(array $sqlQueries, ?int $userID, string $slug, int $statusCode, ?string $location, ?string $headerTitle, ?string $headerDescription): void { // sql queries static::setDatabase(); @@ -551,7 +554,7 @@ public function testBlueprintGET(array $sqlQueries, ?int $userID, string $slugBl $this->getResponseFromApplication('GET', '/', [], $session); // get blueprint - $response = $this->getResponseFromApplication('GET', '/blueprint/' . $slugBlueprint); + $response = $this->getResponseFromApplication('GET', '/blueprint/' . $slug); $this->doTestHasResponseWithStatusCode($response, $statusCode); if ($location !== null) { static::assertSame($location, $response->getHeaderLine('Location')); diff --git a/tests/www/Blueprint/Diff/BlueprintDiffGETVersionsBlueprintTest.php b/tests/www/Blueprint/Diff/BlueprintDiffGETVersionsBlueprintTest.php index e9fd2a6..f4429ae 100644 --- a/tests/www/Blueprint/Diff/BlueprintDiffGETVersionsBlueprintTest.php +++ b/tests/www/Blueprint/Diff/BlueprintDiffGETVersionsBlueprintTest.php @@ -10,6 +10,7 @@ namespace tests\www\Blueprint\Diff; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\ApplicationException; use Rancoud\Database\DatabaseException; @@ -43,28 +44,28 @@ protected function tearDown(): void * * @return array[] */ - public function dataCasesBlueprintGET_VersionsBlueprint(): array + public static function dataCasesBlueprintGET_VersionsBlueprint(): array { $date = '2020-01-01 01:01:01'; $date1DayLater = '2020-01-02 01:01:01'; return [ '1 version - 1/diff/1' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', '" . $date . "', '" . $date . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/1/diff/1', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => false, - 'html' => null + 'slug' => 'slug_public/1/diff/1', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => false, + 'html' => null ], '2 versions - 1/diff/2' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -72,11 +73,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 2, 'Second commit', '" . $date . "', '" . $date . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/1/diff/2', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => true, - 'html' => << 'slug_public/1/diff/2', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => true, + 'html' => << @@ -101,7 +102,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array HTML ], '2 versions - 2/diff/2 (not real link)' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -109,11 +110,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 2, 'Second commit', '" . $date . "', '" . $date . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/2/diff/2', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => true, - 'html' => << 'slug_public/2/diff/2', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => true, + 'html' => << @@ -138,7 +139,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array HTML ], '2 versions - 2/diff/1 (not real link)' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -146,11 +147,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 2, 'Second commit', '" . $date1DayLater . "', '" . $date1DayLater . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/2/diff/1', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => true, - 'html' => << 'slug_public/2/diff/1', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => true, + 'html' => << @@ -183,7 +184,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array HTML ], '3 versions - 2/diff/3' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -192,11 +193,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 3, 'Third commit', '" . $date1DayLater . "', '" . $date1DayLater . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/2/diff/3', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => true, - 'html' => << 'slug_public/2/diff/3', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => true, + 'html' => << @@ -237,7 +238,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array HTML ], '3 versions - 1/diff/3 (not real link)' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -246,11 +247,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 3, 'Third commit', '" . $date1DayLater . "', '" . $date1DayLater . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/1/diff/3', - 'status_code' => 200, - 'location' => null, - 'has_list_versions' => true, - 'html' => << 'slug_public/1/diff/3', + 'statusCode' => 200, + 'location' => null, + 'hasListVersions' => true, + 'html' => << @@ -291,7 +292,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array HTML ], 'version left is invalid' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -300,14 +301,14 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 3, 'Third commit', '" . $date1DayLater . "', '" . $date1DayLater . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/99/diff/3', - 'status_code' => 301, - 'location' => '/', - 'has_list_versions' => true, - 'html' => '' + 'slug' => 'slug_public/99/diff/3', + 'statusCode' => 301, + 'location' => '/', + 'hasListVersions' => true, + 'html' => '' ], 'version right is invalid' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (id_author, slug, file_id, title, current_version, created_at, published_at, exposure, type, ue_version) VALUES (1, 'slug_public', 'a', 'my title', 1, utc_timestamp(), utc_timestamp(), 'public', 'blueprint', '4.12')", @@ -316,11 +317,11 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array "INSERT INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 3, 'Third commit', '" . $date1DayLater . "', '" . $date1DayLater . "')", "REPLACE INTO users (id, username, password, slug, email, created_at) VALUES (1, 'member', null, 'member', 'member@mail', utc_timestamp())", ], - 'slug' => 'slug_public/1/diff/99', - 'status_code' => 301, - 'location' => '/', - 'has_list_versions' => true, - 'html' => '' + 'slug' => 'slug_public/1/diff/99', + 'statusCode' => 301, + 'location' => '/', + 'hasListVersions' => true, + 'html' => '' ] ]; } @@ -340,6 +341,7 @@ public function dataCasesBlueprintGET_VersionsBlueprint(): array * @throws EnvironmentException * @throws RouterException */ + #[DataProvider('dataCasesBlueprintGET_VersionsBlueprint')] public function testBlueprintGETVersionsBlueprint(array $sqlQueries, string $slug, int $statusCode, ?string $location, bool $hasListVersions, ?string $html): void { // sql queries diff --git a/tests/www/Blueprint/Edit/BlueprintEditGETTest.php b/tests/www/Blueprint/Edit/BlueprintEditGETTest.php index f3ad810..95e2736 100644 --- a/tests/www/Blueprint/Edit/BlueprintEditGETTest.php +++ b/tests/www/Blueprint/Edit/BlueprintEditGETTest.php @@ -9,6 +9,7 @@ namespace tests\www\Blueprint\Edit; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\ApplicationException; use Rancoud\Crypt\Crypt; @@ -64,103 +65,103 @@ protected function tearDown(): void * * @return array[] */ - public function dataCasesAccess(): array + public static function dataCasesAccess(): array { return [ 'redirect - blueprint not exist' => [ - 'sql_queries' => [], - 'slug' => '/blueprint/4564879864564/edit/', - 'location' => '/blueprint/4564879864564/', - 'user_id' => null, - 'content_head' => null, + 'sqlQueries' => [], + 'slug' => '/blueprint/4564879864564/edit/', + 'location' => '/blueprint/4564879864564/', + 'userID' => null, + 'contentHead' => null, ], 'redirect - visitor' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public')", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => null, - 'content_head' => null, + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => null, + 'contentHead' => null, ], 'redirect - user connected' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public')", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => 199, - 'content_head' => null, + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => 199, + 'contentHead' => null, ], 'redirect - anonymous user connected (not possible)' => [ - 'sql_queries' => [], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => 2, - 'content_head' => null, + 'sqlQueries' => [], + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => 2, + 'contentHead' => null, ], 'redirect - user connected but not exists in database (not possible)' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public')", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => 50, - 'content_head' => null, + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => 50, + 'contentHead' => null, ], 'redirect - user is author - blueprint deleted' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure, deleted_at) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public', utc_timestamp())", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => 189, - 'content_head' => null, + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => 189, + 'contentHead' => null, ], 'redirect - user is author - blueprint expired' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure, expiration) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public', utc_timestamp() - interval 1 day)", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => '/blueprint/slug_public/', - 'user_id' => 189, - 'content_head' => null, + 'slug' => '/blueprint/slug_public/edit/', + 'location' => '/blueprint/slug_public/', + 'userID' => 189, + 'contentHead' => null, ], 'OK - user is author - no thumbnail' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public')", "REPLACE INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => null, - 'user_id' => 189, - 'content_head' => [ + 'slug' => '/blueprint/slug_public/edit/', + 'location' => null, + 'userID' => 189, + 'contentHead' => [ 'title' => 'Edit blueprint title_public | This is a base title', 'description' => 'Edit blueprint title_public' ], ], 'OK - user is author - has thumbnail' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure, thumbnail) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'public', '')", "REPLACE INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => null, - 'user_id' => 189, - 'content_head' => [ + 'slug' => '/blueprint/slug_public/edit/', + 'location' => null, + 'userID' => 189, + 'contentHead' => [ 'title' => 'Edit blueprint title_public | This is a base title', 'description' => 'Edit blueprint title_public' ], ], 'OK - user is author - has thumbnail (private exposure)' => [ - 'sql_queries' => [ + 'sqlQueries' => [ "REPLACE INTO blueprints (id, id_author, slug, file_id, title, current_version, created_at, published_at, exposure, thumbnail) VALUES (1, 189, 'slug_public', 'file', 'title_public', 1, utc_timestamp(), utc_timestamp(), 'private', '')", "REPLACE INTO blueprints_version (id_blueprint, version, reason, created_at, published_at) VALUES (1, 1, 'First commit', utc_timestamp(), utc_timestamp())", ], - 'slug' => '/blueprint/slug_public/edit/', - 'location' => null, - 'user_id' => 189, - 'content_head' => [ + 'slug' => '/blueprint/slug_public/edit/', + 'location' => null, + 'userID' => 189, + 'contentHead' => [ 'title' => 'Edit blueprint title_public | This is a base title', 'description' => 'Edit blueprint title_public' ], @@ -183,6 +184,7 @@ public function dataCasesAccess(): array * @throws RouterException * @throws SecurityException */ + #[DataProvider('dataCasesAccess')] public function testBlueprintEditGET(array $sqlQueries, string $slug, ?string $location, ?int $userID, ?array $contentHead): void { static::setDatabase(); diff --git a/tests/www/Blueprint/Edit/BlueprintEditPOSTAddVersionTest.php b/tests/www/Blueprint/Edit/BlueprintEditPOSTAddVersionTest.php index 1eb61b9..5241e44 100644 --- a/tests/www/Blueprint/Edit/BlueprintEditPOSTAddVersionTest.php +++ b/tests/www/Blueprint/Edit/BlueprintEditPOSTAddVersionTest.php @@ -10,6 +10,7 @@ namespace tests\www\Blueprint\Edit; use app\helpers\Helper; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Rancoud\Application\ApplicationException; use Rancoud\Crypt\Crypt; @@ -60,27 +61,27 @@ protected function tearDown(): void } } - public function dataCasesAddVersion(): array + public static function dataCasesAddVersion(): array { return [ 'update OK - add version' => [ - 'sql_queries' => [ + 'sqlQueries' => [ 'TRUNCATE TABLE blueprints', 'TRUNCATE TABLE blueprints_version', "INSERT INTO blueprints (`id`, `id_author`, `slug`, `file_id`, `title`, `current_version`, `created_at`, `published_at`, `exposure`) VALUES (80, 189, 'slug_1', 'f1', 'title_1', 1, utc_timestamp(), utc_timestamp(), 'private')", "INSERT INTO blueprints_version (`id`, `id_blueprint`, `version`, `reason`, `created_at`, `published_at`) VALUES (900, 80, 1, 'Initial', utc_timestamp(), utc_timestamp())", ], - 'user_id' => 189, - 'count_versions' => 2, - 'params' => [ + 'userID' => 189, + 'countVersions' => 2, + 'params' => [ 'form-add_version-hidden-csrf' => 'csrf_is_replaced', 'form-add_version-textarea-blueprint' => 'Begin object 1234', 'form-add_version-textarea-reason' => 'new version', ], - 'use_csrf_from_session' => true, - 'has_redirection' => true, - 'is_form_success' => true, - 'flash_messages' => [ + 'useCsrfFromSession' => true, + 'hasRedirection' => true, + 'isFormSuccess' => true, + 'flashMessages' => [ 'success' => [ 'has' => true, 'message' => '
The new version has been published
' @@ -90,29 +91,29 @@ public function dataCasesAddVersion(): array 'message' => '