From 5f34a6d38af0395c8fd802c0da1590ed7724ee59 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 22 Jul 2026 16:23:58 +0200 Subject: [PATCH] Improved CY tests --- .../controllers/system/DummyPermissions.php | 32 ++++----------- system/seeders/015_roles_in_roles.sql | 40 +++++++++++++++++++ .../roles.cy.js} | 1 - .../cypress/support/api/rolesinrolesApi.js | 19 +++++++++ 4 files changed, 66 insertions(+), 26 deletions(-) create mode 100644 system/seeders/015_roles_in_roles.sql rename tests/cypress/cypress/e2e/specs/api/{rollen/tempus.collisions.cy.js => rolesinroles/roles.cy.js} (99%) create mode 100644 tests/cypress/cypress/support/api/rolesinrolesApi.js diff --git a/application/controllers/system/DummyPermissions.php b/application/controllers/system/DummyPermissions.php index 35604e673..6cc5f24a7 100644 --- a/application/controllers/system/DummyPermissions.php +++ b/application/controllers/system/DummyPermissions.php @@ -5,7 +5,7 @@ if (!defined('BASEPATH')) exit('No direct script access allowed'); /** * */ -class TestPermissions extends Auth_Controller +class DummyPermissions extends Auth_Controller { /** * @@ -14,36 +14,18 @@ class TestPermissions extends Auth_Controller { parent::__construct( array( - 'mainRoleR' => 'dummymainroler:r', - 'mainRoleRW' => 'dummymainrolerw:rw', - 'mainRoleW' => 'dummymainrolew:w', - 'basicRoleR' => 'dummybasicroler:r', - 'basicRoleRW' => 'dummybasicrolerw:rw', - 'basicRoleW' => 'dummybasicrolew:w', - 'singlePermissionR' => 'dummypermissionr:r', - 'singlePermissionRW' => 'dummypermissionrw:rw', - 'singlePermissionW' => 'dummypermissionw:w', + 'permissionToMainRole' => 'dummymainpermission:r', + 'permissionToBasicRole' => 'dummybasicpermission:r', + 'permissionToUser' => 'dummyuserpermission:r', ) ); } // - public function mainRoleR() { echo __METHOD__; } + public function permissionToMainRole() { echo __METHOD__; } // - public function mainRoleRW() { echo __METHOD__; } + public function permissionToBasicRole() { echo __METHOD__; } // - public function mainRoleW() { echo __METHOD__; } - // - public function basicRoleR() { echo __METHOD__; } - // - public function basicRoleRW() { echo __METHOD__; } - // - public function basicRoleW() { echo __METHOD__; } - // - public function singlePermissionR() { echo __METHOD__; } - // - public function singlePermissionRW() { echo __METHOD__; } - // - public function singlePermissionW() { echo __METHOD__; } + public function permissionToUser() { echo __METHOD__; } } diff --git a/system/seeders/015_roles_in_roles.sql b/system/seeders/015_roles_in_roles.sql new file mode 100644 index 000000000..0acd9ffef --- /dev/null +++ b/system/seeders/015_roles_in_roles.sql @@ -0,0 +1,40 @@ +-- Create the dummy main role +INSERT INTO system.tbl_rolle (rolle_kurzbz, beschreibung, lange_beschreibung) +VALUES ('dummymainrole', 'Main dummy role', 'This is the main dummy role'); + +-- Create the dummy basic role +INSERT INTO system.tbl_rolle (rolle_kurzbz, beschreibung, lange_beschreibung) +VALUES ('dummybasicrole', 'Basic dummy role', 'This is the basic dummy role'); + +-- Link the basic dummy role to the main dummy role +INSERT INTO system.tbl_rolle_rolle (main_rolle_kurzbz, basic_rolle_kurzbz, insertvon) +VALUES ('dummymainrole', 'dummybasicrole', 'seeders'); + +-- Create the dummy main permission +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) +VALUES ('dummymainpermission', 'Main dummy permission'); + +-- Create the dummy basic permission +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) +VALUES ('dummybasicpermission', 'Basic dummy permission'); + +-- Create the dummy user permission +INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) +VALUES ('dummyuserpermission', 'User dummy permission'); + +-- Link the main dummy permission to the main dummy role +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art, insertvon) +VALUES ('dummymainpermission', 'dummymainrole', 'suid', 'seeders'); + +-- Link the basic dummy permission to the basic dummy role +INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art, insertvon) +VALUES ('dummybasicpermission', 'dummybasicrole', 'suid', 'seeders'); + +-- Link the user dummy permission to the user +INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, art, insertvon) +VALUES (NULL, 'dummyuserpermission', 'demoadmin', 'suid', 'seeders'); + +-- Link the main dummy role to the user +INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, art, insertvon) +VALUES ('dummymainrole', NULL, 'demoadmin', 'suid', 'seeders'); + diff --git a/tests/cypress/cypress/e2e/specs/api/rollen/tempus.collisions.cy.js b/tests/cypress/cypress/e2e/specs/api/rolesinroles/roles.cy.js similarity index 99% rename from tests/cypress/cypress/e2e/specs/api/rollen/tempus.collisions.cy.js rename to tests/cypress/cypress/e2e/specs/api/rolesinroles/roles.cy.js index bc997a90a..533ba0c7d 100644 --- a/tests/cypress/cypress/e2e/specs/api/rollen/tempus.collisions.cy.js +++ b/tests/cypress/cypress/e2e/specs/api/rolesinroles/roles.cy.js @@ -1,5 +1,4 @@ import { tempusApi } from "../../../../support/api/tempusApi"; -import { getDateForDay } from "../../../../support/helpers/date"; import { getTempusTestSemester, TEMPUS_TEST_STUDY_PLAN_SHORT_CODE, diff --git a/tests/cypress/cypress/support/api/rolesinrolesApi.js b/tests/cypress/cypress/support/api/rolesinrolesApi.js new file mode 100644 index 000000000..5a0e134d0 --- /dev/null +++ b/tests/cypress/cypress/support/api/rolesinrolesApi.js @@ -0,0 +1,19 @@ +const DummyPermissionsAPI = "/index.ci.php/system/DummyPermissions"; + +export const rolesinrolesApi = { + mainRoleR: function() { + cy + .request({ + method: 'GET', + url: DummyPermissionsAPI, + }) + .then((response) => { + expect(response.status).to.eq(200); + expect(response.body).to.have.nested.property("meta.status", "success"); + expect(response.body.data).to.be.an("array"); + + return response.body.data; + }) + }, +}; +