diff --git a/.github/scripts/e2e-teams-report.js b/.github/scripts/e2e-teams-report.js index 9abab8401..3e762373a 100644 --- a/.github/scripts/e2e-teams-report.js +++ b/.github/scripts/e2e-teams-report.js @@ -40,8 +40,8 @@ const { execFileSync } = require('child_process'); const BROWSERS = ['chrome', 'firefox', 'webkit', 'msedge']; const BLOBS_DIR = 'all-blobs'; const EXCLUDE_ROOT = path.join('e2e', 'playwright'); -// Matrix suite name -> test folder, for the single suite whose folder name differs. -const SUITE_TO_FOLDER = { 'special-permissions': 'special-permissions-actions-available' }; +// Matrix suite name -> test folder, for any suite whose folder name differs from its matrix name. +const SUITE_TO_FOLDER = {}; const PLAYWRIGHT_BIN = path.join('node_modules', '.bin', 'playwright'); diff --git a/.github/workflows/e2e-playwright-reusable.yml b/.github/workflows/e2e-playwright-reusable.yml index 41bb500a2..8e54dabfa 100644 --- a/.github/workflows/e2e-playwright-reusable.yml +++ b/.github/workflows/e2e-playwright-reusable.yml @@ -81,8 +81,12 @@ jobs: id: 4 - name: "navigation" id: 5 - - name: "special-permissions" + - name: "special-permissions-consumer" id: 6 + - name: "special-permissions-collaborator-locked" + id: 23 + - name: "special-permissions-folders-repository" + id: 24 - name: "pagination" id: 7 - name: "list-views" diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 00002e3c0..b1a59e037 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -181,8 +181,12 @@ jobs: id: 4 - name: "navigation" id: 5 - - name: "special-permissions" + - name: "special-permissions-consumer" id: 6 + - name: "special-permissions-collaborator-locked" + id: 23 + - name: "special-permissions-folders-repository" + id: 24 - name: "pagination" id: 7 - name: "list-views" diff --git a/.github/workflows/run-e2e-with-env.yml b/.github/workflows/run-e2e-with-env.yml index 5936619ec..a5dd0fdcb 100644 --- a/.github/workflows/run-e2e-with-env.yml +++ b/.github/workflows/run-e2e-with-env.yml @@ -100,8 +100,12 @@ jobs: id: 4 - name: "navigation" id: 5 - - name: "special-permissions" + - name: "special-permissions-consumer" id: 6 + - name: "special-permissions-collaborator-locked" + id: 23 + - name: "special-permissions-folders-repository" + id: 24 - name: "pagination" id: 7 - name: "list-views" diff --git a/e2e/playwright/special-permissions-collaborator-locked/.eslintrc.json b/e2e/playwright/special-permissions-collaborator-locked/.eslintrc.json new file mode 100644 index 000000000..654e1061d --- /dev/null +++ b/e2e/playwright/special-permissions-collaborator-locked/.eslintrc.json @@ -0,0 +1,22 @@ +{ + "extends": "../../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "extends": ["../../../.eslintrc.e2e.json"], + "parserOptions": { + "project": [ + "e2e/playwright/special-permissions-collaborator-locked/tsconfig.e2e.json" + ] + }, + "rules": { + "@typescript-eslint/no-floating-promises": "off" + } + } + ] +} diff --git a/e2e/playwright/special-permissions-actions-available/exclude.tests.json b/e2e/playwright/special-permissions-collaborator-locked/exclude.tests.json similarity index 100% rename from e2e/playwright/special-permissions-actions-available/exclude.tests.json rename to e2e/playwright/special-permissions-collaborator-locked/exclude.tests.json diff --git a/e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts b/e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts new file mode 100644 index 000000000..a4b678aa1 --- /dev/null +++ b/e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts @@ -0,0 +1,36 @@ +/*! + * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { PlaywrightTestConfig } from '@playwright/test'; +import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray, createSuiteProjects } from '@alfresco/aca-playwright-shared'; +import EXCLUDED_JSON from './exclude.tests.json'; + +const config: PlaywrightTestConfig = { + ...getGlobalConfig, + + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'special-permissions-collaborator-locked'), + projects: createSuiteProjects('special-permissions-collaborator-locked', './src/tests') +}; + +export default config; diff --git a/e2e/playwright/special-permissions-collaborator-locked/project.json b/e2e/playwright/special-permissions-collaborator-locked/project.json new file mode 100644 index 000000000..c0c29794f --- /dev/null +++ b/e2e/playwright/special-permissions-collaborator-locked/project.json @@ -0,0 +1,131 @@ +{ + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "name": "special-permissions-collaborator-locked-e2e", + "sourceRoot": "e2e/playwright/special-permissions-collaborator-locked/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "configurations": { + "ui": { + "args": [ + "--ui" + ] + }, + "debug": { + "args": [ + "--debug" + ] + }, + "headed": { + "args": [ + "--headed" + ] + } + } + }, + "lint": { + "executor": "@angular-eslint/builder:lint" + }, + "e2e-multibrowser": { + "executor": "nx:run-commands", + "options": {}, + "configurations": { + "webkit-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "webkit" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "webkit-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "webkit", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "firefox-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "firefox" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "firefox-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "firefox", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "chrome-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "chrome" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "chrome-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "chrome", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "msedge-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "msedge" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "msedge-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "msedge", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + }, + "all-browsers-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "all", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-collaborator-locked/playwright.config.ts" + ] + } + } + } + } +} diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/collaborator-actions.e2e.ts b/e2e/playwright/special-permissions-collaborator-locked/src/tests/collaborator-actions.e2e.ts similarity index 100% rename from e2e/playwright/special-permissions-actions-available/src/tests/collaborator-actions.e2e.ts rename to e2e/playwright/special-permissions-collaborator-locked/src/tests/collaborator-actions.e2e.ts diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-current-user-actions.e2e.ts b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-current-user-actions.e2e.ts similarity index 100% rename from e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-current-user-actions.e2e.ts rename to e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-current-user-actions.e2e.ts index 001642d77..94d176590 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-current-user-actions.e2e.ts +++ b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-current-user-actions.e2e.ts @@ -40,17 +40,17 @@ const collaboratorToolbarPrimary = ['View', 'View Details', 'More Actions']; const collaboratorViewerLockedToolbarPrimary = ['Activate full-screen mode', 'View Details', 'More Actions']; const lockCurrentUserToolbarMore = ['Cancel Editing', 'Upload New Version', 'Copy']; +const buildFile = (): LockedFile => { + const random = Utils.random(); + return { name: `file-${random}-my-locked`, random }; +}; + interface LockedFile { name: string; random: string; id?: string; } -const buildFile = (): LockedFile => { - const random = Utils.random(); - return { name: `file-${random}-my-locked`, random }; -}; - test.describe('Special permissions - File locked, user is lock owner : ', () => { const random = Utils.random(); const apiClientFactory = new ApiClientFactory(); diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-other-user-actions.e2e.ts b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts similarity index 96% rename from e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-other-user-actions.e2e.ts rename to e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts index f70204583..87422dbbb 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/file-locked-by-other-user-actions.e2e.ts +++ b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts @@ -41,33 +41,34 @@ const collaboratorViewerLockedToolbarPrimary = ['Activate full-screen mode', 'Vi const lockOtherUserToolbarMore = ['Cancel Editing', 'Favorite', 'Move', 'Copy', 'Permissions']; const lockOtherUserSearchToolbarMore = ['Cancel Editing', 'Favorite', 'Copy', 'Permissions']; -interface LockedFile { - name: string; +interface ManagerLockedFile { random: string; + name: string; id?: string; } -const buildFile = (): LockedFile => { - const random = Utils.random(); - return { name: `file-${random}-my-locked`, random }; +const buildFile = (): ManagerLockedFile => { + const fileToken = Utils.random(); + const name = `file-${fileToken}-my-locked`; + return { random: fileToken, name }; }; test.describe('Special permissions - File locked by other user, user is manager : ', () => { const random = Utils.random(); - const apiClientFactory = new ApiClientFactory(); - const sitePrivate = `site-private-locked-other-${random}`; const userManager = `manager-locked-other-${random}`; const userDemoted = `demoted-other-${random}`; + const sitePrivate = `site-private-locked-other-${random}`; + const apiClientFactory = new ApiClientFactory(); - let docLibId: string; - let managerNodeActions: NodesApi; let managerSiteActions: SitesApi; - let managerSearchActions: SearchApi; + let managerNodeActions: NodesApi; let managerFavoritesActions: FavoritesApi; + let managerSearchActions: SearchApi; let demotedUserActions: NodesApi; let demotedUserShareActions: SharedLinksApi; + let docLibId: string; - const provisionFile = async (item: LockedFile): Promise => { + const provisionFile = async (item: ManagerLockedFile): Promise => { test.setTimeout(timeouts.extendedTest); const managerFavoritesTotalItems = await managerFavoritesActions.getFavoritesTotalItems(userManager); const managerSearchTotalItems = await managerSearchActions.getTotalItems(userManager); @@ -88,19 +89,19 @@ test.describe('Special permissions - File locked by other user, user is manager test.beforeAll(async () => { test.setTimeout(timeouts.extendedTest); await apiClientFactory.setUpAcaBackend('admin'); - await apiClientFactory.createUser({ username: userManager }); await apiClientFactory.createUser({ username: userDemoted }); + await apiClientFactory.createUser({ username: userManager }); - managerNodeActions = await NodesApi.initialize(userManager, userManager); managerSiteActions = await SitesApi.initialize(userManager, userManager); - managerSearchActions = await SearchApi.initialize(userManager, userManager); + managerNodeActions = await NodesApi.initialize(userManager, userManager); managerFavoritesActions = await FavoritesApi.initialize(userManager, userManager); + managerSearchActions = await SearchApi.initialize(userManager, userManager); demotedUserActions = await NodesApi.initialize(userDemoted, userDemoted); demotedUserShareActions = await SharedLinksApi.initialize(userDemoted, userDemoted); await managerSiteActions.createSite(sitePrivate, Site.VisibilityEnum.PRIVATE); - docLibId = await managerSiteActions.getDocLibId(sitePrivate); await managerSiteActions.addSiteMember(sitePrivate, userDemoted, Site.RoleEnum.SiteManager); + docLibId = await managerSiteActions.getDocLibId(sitePrivate); }); test.beforeEach(async ({ loginPage }) => { diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/permissions-actions-helpers.ts b/e2e/playwright/special-permissions-collaborator-locked/src/tests/permissions-actions-helpers.ts similarity index 100% rename from e2e/playwright/special-permissions-actions-available/src/tests/permissions-actions-helpers.ts rename to e2e/playwright/special-permissions-collaborator-locked/src/tests/permissions-actions-helpers.ts diff --git a/e2e/playwright/special-permissions-actions-available/tsconfig.e2e.adf.json b/e2e/playwright/special-permissions-collaborator-locked/tsconfig.e2e.adf.json similarity index 100% rename from e2e/playwright/special-permissions-actions-available/tsconfig.e2e.adf.json rename to e2e/playwright/special-permissions-collaborator-locked/tsconfig.e2e.adf.json diff --git a/e2e/playwright/special-permissions-actions-available/tsconfig.e2e.json b/e2e/playwright/special-permissions-collaborator-locked/tsconfig.e2e.json old mode 100755 new mode 100644 similarity index 100% rename from e2e/playwright/special-permissions-actions-available/tsconfig.e2e.json rename to e2e/playwright/special-permissions-collaborator-locked/tsconfig.e2e.json diff --git a/e2e/playwright/special-permissions-actions-available/.eslintrc.json b/e2e/playwright/special-permissions-consumer/.eslintrc.json similarity index 81% rename from e2e/playwright/special-permissions-actions-available/.eslintrc.json rename to e2e/playwright/special-permissions-consumer/.eslintrc.json index 8c846d923..325cd539b 100644 --- a/e2e/playwright/special-permissions-actions-available/.eslintrc.json +++ b/e2e/playwright/special-permissions-consumer/.eslintrc.json @@ -11,7 +11,7 @@ "extends": ["../../../.eslintrc.e2e.json"], "parserOptions": { "project": [ - "e2e/playwright/special-permissions-actions-available/tsconfig.e2e.json" + "e2e/playwright/special-permissions-consumer/tsconfig.e2e.json" ] }, "rules": { diff --git a/e2e/playwright/special-permissions-consumer/exclude.tests.json b/e2e/playwright/special-permissions-consumer/exclude.tests.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/e2e/playwright/special-permissions-consumer/exclude.tests.json @@ -0,0 +1 @@ +{} diff --git a/e2e/playwright/special-permissions-actions-available/playwright.config.ts b/e2e/playwright/special-permissions-consumer/playwright.config.ts similarity index 93% rename from e2e/playwright/special-permissions-actions-available/playwright.config.ts rename to e2e/playwright/special-permissions-consumer/playwright.config.ts index b7d62c9e5..3e8cb270c 100644 --- a/e2e/playwright/special-permissions-actions-available/playwright.config.ts +++ b/e2e/playwright/special-permissions-consumer/playwright.config.ts @@ -29,8 +29,8 @@ import EXCLUDED_JSON from './exclude.tests.json'; const config: PlaywrightTestConfig = { ...getGlobalConfig, - grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'special-permissions'), - projects: createSuiteProjects('special-permissions', './src/tests') + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'special-permissions-consumer'), + projects: createSuiteProjects('special-permissions-consumer', './src/tests') }; export default config; diff --git a/e2e/playwright/special-permissions-actions-available/project.json b/e2e/playwright/special-permissions-consumer/project.json similarity index 83% rename from e2e/playwright/special-permissions-actions-available/project.json rename to e2e/playwright/special-permissions-consumer/project.json index c650a210e..3256d60de 100644 --- a/e2e/playwright/special-permissions-actions-available/project.json +++ b/e2e/playwright/special-permissions-consumer/project.json @@ -1,14 +1,14 @@ { "$schema": "../../../node_modules/nx/schemas/project-schema.json", - "name": "special-permissions-e2e", - "sourceRoot": "e2e/playwright/special-permissions-actions-available/src", + "name": "special-permissions-consumer-e2e", + "sourceRoot": "e2e/playwright/special-permissions-consumer/src", "projectType": "application", "targets": { "e2e": { "executor": "nx:run-commands", "options": { "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "configurations": { @@ -44,7 +44,7 @@ "--headed" ], "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "webkit-headless": { @@ -53,7 +53,7 @@ "PLAYWRIGHT_HEADLESS": "true" }, "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "firefox-headed": { @@ -64,7 +64,7 @@ "--headed" ], "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "firefox-headless": { @@ -73,7 +73,7 @@ "PLAYWRIGHT_HEADLESS": "true" }, "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "chrome-headed": { @@ -84,7 +84,7 @@ "--headed" ], "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "chrome-headless": { @@ -93,7 +93,7 @@ "PLAYWRIGHT_HEADLESS": "true" }, "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "msedge-headed": { @@ -104,7 +104,7 @@ "--headed" ], "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "msedge-headless": { @@ -113,7 +113,7 @@ "PLAYWRIGHT_HEADLESS": "true" }, "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] }, "all-browsers-headless": { @@ -122,7 +122,7 @@ "PLAYWRIGHT_HEADLESS": "true" }, "commands": [ - "playwright test --config=e2e/playwright/special-permissions-actions-available/playwright.config.ts" + "playwright test --config=e2e/playwright/special-permissions-consumer/playwright.config.ts" ] } } diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/consumer-viewer-actions.e2e.ts b/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts similarity index 99% rename from e2e/playwright/special-permissions-actions-available/src/tests/consumer-viewer-actions.e2e.ts rename to e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts index bdf287dc3..29c8fa650 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/consumer-viewer-actions.e2e.ts +++ b/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts @@ -49,7 +49,7 @@ const viewerLockedPrimary = ['Activate full-screen mode', 'View Details', 'More const viewerMore = ['Favorite', 'Copy', 'Manage Versions']; const viewerFavMore = ['Remove Favorite', 'Copy', 'Manage Versions']; const viewerLockedMore = ['Favorite', 'Copy']; -const viewerLockedFavMore = ['Favorite', 'Copy']; +const viewerLockedFavMore = ['Remove Favorite', 'Copy']; const viewerNotVersionableMore = ['Favorite', 'Copy']; interface ConsumerFile { diff --git a/e2e/playwright/special-permissions-consumer/tsconfig.e2e.adf.json b/e2e/playwright/special-permissions-consumer/tsconfig.e2e.adf.json new file mode 100644 index 000000000..47ea883b4 --- /dev/null +++ b/e2e/playwright/special-permissions-consumer/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/special-permissions-consumer/tsconfig.e2e.json b/e2e/playwright/special-permissions-consumer/tsconfig.e2e.json new file mode 100644 index 000000000..16d87d8ec --- /dev/null +++ b/e2e/playwright/special-permissions-consumer/tsconfig.e2e.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/special-permissions-folders-repository/.eslintrc.json b/e2e/playwright/special-permissions-folders-repository/.eslintrc.json new file mode 100644 index 000000000..96a28cc25 --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/.eslintrc.json @@ -0,0 +1,22 @@ +{ + "extends": "../../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "extends": ["../../../.eslintrc.e2e.json"], + "parserOptions": { + "project": [ + "e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.json" + ] + }, + "rules": { + "@typescript-eslint/no-floating-promises": "off" + } + } + ] +} diff --git a/e2e/playwright/special-permissions-folders-repository/exclude.tests.json b/e2e/playwright/special-permissions-folders-repository/exclude.tests.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/exclude.tests.json @@ -0,0 +1 @@ +{} diff --git a/e2e/playwright/special-permissions-folders-repository/playwright.config.ts b/e2e/playwright/special-permissions-folders-repository/playwright.config.ts new file mode 100644 index 000000000..348e225ac --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/playwright.config.ts @@ -0,0 +1,36 @@ +/*! + * Copyright © 2005-2026 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { PlaywrightTestConfig } from '@playwright/test'; +import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray, createSuiteProjects } from '@alfresco/aca-playwright-shared'; +import EXCLUDED_JSON from './exclude.tests.json'; + +const config: PlaywrightTestConfig = { + ...getGlobalConfig, + + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'special-permissions-folders-repository'), + projects: createSuiteProjects('special-permissions-folders-repository', './src/tests') +}; + +export default config; diff --git a/e2e/playwright/special-permissions-folders-repository/project.json b/e2e/playwright/special-permissions-folders-repository/project.json new file mode 100644 index 000000000..9e98fb8ab --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/project.json @@ -0,0 +1,131 @@ +{ + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "name": "special-permissions-folders-repository-e2e", + "sourceRoot": "e2e/playwright/special-permissions-folders-repository/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "configurations": { + "ui": { + "args": [ + "--ui" + ] + }, + "debug": { + "args": [ + "--debug" + ] + }, + "headed": { + "args": [ + "--headed" + ] + } + } + }, + "lint": { + "executor": "@angular-eslint/builder:lint" + }, + "e2e-multibrowser": { + "executor": "nx:run-commands", + "options": {}, + "configurations": { + "webkit-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "webkit" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "webkit-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "webkit", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "firefox-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "firefox" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "firefox-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "firefox", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "chrome-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "chrome" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "chrome-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "chrome", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "msedge-headed": { + "env": { + "PLAYWRIGHT_BROWSER": "msedge" + }, + "args": [ + "--headed" + ], + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "msedge-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "msedge", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + }, + "all-browsers-headless": { + "env": { + "PLAYWRIGHT_BROWSER": "all", + "PLAYWRIGHT_HEADLESS": "true" + }, + "commands": [ + "playwright test --config=e2e/playwright/special-permissions-folders-repository/playwright.config.ts" + ] + } + } + } + } +} diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts b/e2e/playwright/special-permissions-folders-repository/src/tests/folders-actions.e2e.ts similarity index 100% rename from e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts rename to e2e/playwright/special-permissions-folders-repository/src/tests/folders-actions.e2e.ts diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/repository-permissions.e2e.ts b/e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts similarity index 100% rename from e2e/playwright/special-permissions-actions-available/src/tests/repository-permissions.e2e.ts rename to e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts diff --git a/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.adf.json b/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.adf.json new file mode 100644 index 000000000..47ea883b4 --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.json b/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.json new file mode 100644 index 000000000..16d87d8ec --- /dev/null +++ b/e2e/playwright/special-permissions-folders-repository/tsconfig.e2e.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"] + } + }, + "exclude": ["node_modules"] +}