[ACS-10621] library-properties cleanup (#5140)

* [ACS-10621] library-properties cleanup

* [ACS-10621] copilot review fix 1
This commit is contained in:
Adam Świderski
2026-04-09 10:01:44 +02:00
committed by GitHub
parent 7e1f4f5385
commit 2004414d67
2 changed files with 12 additions and 21 deletions
@@ -97,7 +97,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.nameField).toHaveValue(site.name); await expect(myLibrariesPage.libraryDetails.nameField).toHaveValue(site.name);
await expect(myLibrariesPage.libraryDetails.idField).toHaveValue(site.id); await expect(myLibrariesPage.libraryDetails.idField).toHaveValue(site.id);
expect((await myLibrariesPage.libraryDetails.visibilityField.textContent()).toUpperCase()).toEqual(site.visibility); expect(((await myLibrariesPage.libraryDetails.visibilityField.textContent()) ?? '').toUpperCase()).toEqual(site.visibility);
await expect(myLibrariesPage.libraryDetails.descriptionField).toHaveValue(site.description); await expect(myLibrariesPage.libraryDetails.descriptionField).toHaveValue(site.description);
await expect(myLibrariesPage.libraryDetails.editButton).toBeVisible(); await expect(myLibrariesPage.libraryDetails.editButton).toBeVisible();
}); });
@@ -151,8 +151,8 @@ test.describe('Library properties', () => {
test('[XAT-5549] Cancel editing a site', async ({ myLibrariesPage }) => { test('[XAT-5549] Cancel editing a site', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
const newName = `new-name-${Utils.random}`; const newName = `new-name-${Utils.random()}`;
const newDesc = `new desc ${Utils.random}`; const newDesc = `new desc ${Utils.random()}`;
await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.dataTable.getRowByName(site.name).click();
await myLibrariesPage.acaHeader.viewDetails.click(); await myLibrariesPage.acaHeader.viewDetails.click();
@@ -196,7 +196,7 @@ test.describe('Library properties', () => {
await myLibrariesPage.libraryDetails.editButton.click(); await myLibrariesPage.libraryDetails.editButton.click();
await myLibrariesPage.libraryDetails.nameField.fill(Utils.string257Long); await myLibrariesPage.libraryDetails.nameField.fill(Utils.string257Long);
await expect(myLibrariesPage.libraryDetails.errorNameMessage).toBeVisible(); await expect(myLibrariesPage.libraryDetails.errorNameMessage).toBeVisible();
expect((await myLibrariesPage.libraryDetails.errorNameMessage.textContent()).trim()).toEqual('Use 256 characters or less for title'); expect(((await myLibrariesPage.libraryDetails.errorNameMessage.textContent()) ?? '').trim()).toEqual('Use 256 characters or less for title');
await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled(); await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled();
}); });
@@ -211,7 +211,9 @@ test.describe('Library properties', () => {
await myLibrariesPage.libraryDetails.editButton.click(); await myLibrariesPage.libraryDetails.editButton.click();
await myLibrariesPage.libraryDetails.descriptionField.fill(Utils.string513Long); await myLibrariesPage.libraryDetails.descriptionField.fill(Utils.string513Long);
await expect(myLibrariesPage.libraryDetails.errorDescriptionMessage).toBeVisible(); await expect(myLibrariesPage.libraryDetails.errorDescriptionMessage).toBeVisible();
expect((await myLibrariesPage.libraryDetails.errorDescriptionMessage.textContent()).trim()).toEqual('Use 512 characters or less for description'); expect(((await myLibrariesPage.libraryDetails.errorDescriptionMessage.textContent()) ?? '').trim()).toEqual(
'Use 512 characters or less for description'
);
await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled(); await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled();
}); });
}); });
@@ -220,7 +222,6 @@ test.describe('Non manager', () => {
let sitesApi: SitesApi; let sitesApi: SitesApi;
const username = `user1-${Utils.random()}`; const username = `user1-${Utils.random()}`;
const user2 = `user2-${Utils.random()}`;
const user3 = `user3-${Utils.random()}`; const user3 = `user3-${Utils.random()}`;
const site = { const site = {
name: `site1-${Utils.random()}`, name: `site1-${Utils.random()}`,
@@ -234,12 +235,10 @@ test.describe('Non manager', () => {
const apiClientFactory = new ApiClientFactory(); const apiClientFactory = new ApiClientFactory();
await apiClientFactory.setUpAcaBackend('admin'); await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser({ username }); await apiClientFactory.createUser({ username });
await apiClientFactory.createUser({ username: user2 });
await apiClientFactory.createUser({ username: user3 }); await apiClientFactory.createUser({ username: user3 });
sitesApi = await SitesApi.initialize(username, username); sitesApi = await SitesApi.initialize(username, username);
await sitesApi.createSite(site.name, site.visibility, site.description, site.id); await sitesApi.createSite(site.name, site.visibility, site.description, site.id);
await sitesApi.addSiteMember(site.id, user2, SITE_ROLES.SITE_COLLABORATOR.ROLE);
await sitesApi.addSiteMember(site.id, user3, SITE_ROLES.SITE_MANAGER.ROLE); await sitesApi.addSiteMember(site.id, user3, SITE_ROLES.SITE_MANAGER.ROLE);
} catch (error) { } catch (error) {
console.error(`beforeAll failed: ${error}`); console.error(`beforeAll failed: ${error}`);
@@ -250,16 +249,8 @@ test.describe('Non manager', () => {
await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id]); await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id]);
}); });
test('[XAT-5546] View Details button is not displayed when user is not the library manager', async ({ loginPage, myLibrariesPage }) => {
await loginPage.loginUser({ username: user2, password: user2 }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate();
await myLibrariesPage.dataTable.getRowByName(site.name).click();
await expect(myLibrariesPage.acaHeader.viewDetails).toBeHidden();
});
test('[XAT-5553] Error notification when editing with no rights', async ({ loginPage, myLibrariesPage }) => { test('[XAT-5553] Error notification when editing with no rights', async ({ loginPage, myLibrariesPage }) => {
await loginPage.loginUser({ username: user3, password: user3 }, { withNavigation: true, waitForLoading: true }); await Utils.tryLoginUser(loginPage, user3, user3);
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.dataTable.getRowByName(site.name).click();
@@ -64,7 +64,7 @@ export class Utils {
try { try {
await loginPage.loginUser({ username, password }, { withNavigation: true, waitForLoading: true }); await loginPage.loginUser({ username, password }, { withNavigation: true, waitForLoading: true });
} catch (error) { } catch (error) {
console.error(`${errorMessage}: ${error}`); throw new Error(`${errorMessage}: ${error}`);
} }
} }
@@ -88,7 +88,7 @@ export class Utils {
try { try {
await nodesApi?.deleteCurrentUserNodes(); await nodesApi?.deleteCurrentUserNodes();
await trashcanApi?.emptyTrashcan(); await trashcanApi?.emptyTrashcan();
if (sitesToDelete?.length > 0) { if (sitesToDelete && sitesToDelete.length > 0) {
await sitesApi?.deleteSites(sitesToDelete); await sitesApi?.deleteSites(sitesToDelete);
} }
} catch (error) { } catch (error) {
@@ -98,7 +98,7 @@ export class Utils {
static async uploadFileNewVersion(personalFilesPage: PersonalFilesPage, fileFromOS: string, fileType: string): Promise<void> { static async uploadFileNewVersion(personalFilesPage: PersonalFilesPage, fileFromOS: string, fileType: string): Promise<void> {
const fileInput = await personalFilesPage.page.$('#app-upload-file-version'); const fileInput = await personalFilesPage.page.$('#app-upload-file-version');
await fileInput.setInputFiles(path.join(__dirname, `../resources/test-files/${fileFromOS}.${fileType}`)); await fileInput?.setInputFiles(path.join(__dirname, `../resources/test-files/${fileFromOS}.${fileType}`));
} }
static async reloadPageIfRowNotVisible( static async reloadPageIfRowNotVisible(
@@ -120,7 +120,7 @@ export class Utils {
errorMessage = 'reloadPageIfDatatableEmpty Error ' errorMessage = 'reloadPageIfDatatableEmpty Error '
): Promise<void> { ): Promise<void> {
try { try {
if ((await pageContext.dataTable.getEmptyFolderLocator.isVisible()) || (await pageContext.dataTable.emptyListTitle.isVisible())) { if ((await pageContext.dataTable.getEmptyFolderLocator?.isVisible()) || (await pageContext.dataTable.emptyListTitle?.isVisible())) {
await pageContext.page.reload({ waitUntil: 'load' }); await pageContext.page.reload({ waitUntil: 'load' });
} }
} catch (error) { } catch (error) {