mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-9102] Local ACS deployment for E2Es (#4324)
* [ACS-9102] Local ACS deployment draft * [ACS-9102] Move ACS deployment to composite action * [ACS-9102] Remove obsolete checks * [ACS-9102] Proper secrets for ACS deployment * [ACS-9102] Add required shell property * [ACS-9102] Use fixed acs deployment version * [ACS-9102] Proper acs deployment tag * [ACS-9102] Add required shell property * [ACS-9102] Fix helm install params * [ACS-9102] Remove obsolete checkout * [ACS-9102] Use more powerful runner for E2Es * [ACS-9102] Introduce temp secrets * test curl localhost * skip n-1 matrix jobs * test ipv4 first * [ACS-9102] Adjust Playwright E2E host * [ACS-9102] Bring back matrix job * disable unnecessary acs components * debug ingress after tests run * [ACS-9102] Fix folder-rules test suite * [ACS-9102] Fix part of viewer test suite * [ACS-9102] Additional E2E fixes * [ACS-9102] fixes for e2es -> empty-list and search * [ACS-9102] more fixes for e2es and github actions artifacts added for easier debugging * [ACS-9102] removed artifacts from GHA * print all logs * [ACS-9102] Remove outdated secrets * [ACS-9102] Remove after-e2e action * do not wait for reindexing * test on latest runner * Always debug ingress logs * avoid sleep waiting for app startup * cleanup unnecessary action input type * fixup indent * test with latest acs alpha * Revert "do not wait for reindexing" This reverts commit 86ca54de33a6b5bf1da65202caac5798b5f88d51. * [ACS-9102] Exclude unstable test cases * [ACS-9102] Exclude unstable test cases * [ACS-9102] Exclude unstable test cases --------- Co-authored-by: Giovanni Toraldo <giovanni.toraldo@hyland.com> Co-authored-by: Adam Świderski <adam.tomasz.swiderski@gmail.com>
This commit is contained in:
@@ -1 +1,3 @@
|
||||
{}
|
||||
{
|
||||
"XAT-5304": "https://hyland.atlassian.net/browse/ACS-9154"
|
||||
}
|
||||
|
@@ -74,7 +74,7 @@ test.describe('Edit offline - on Personal Files', () => {
|
||||
await personalFiles.dataTable.selectItems(file1);
|
||||
await personalFiles.acaHeader.clickMoreActions();
|
||||
await personalFiles.matMenu.clickMenuItem('Edit Offline');
|
||||
const [download] = await Promise.all([personalFiles.page.waitForEvent('download')]);
|
||||
const [download] = await Promise.all([personalFiles.page.waitForEvent('download', { timeout: 5000 })]);
|
||||
expect(download.suggestedFilename()).toBe(file1);
|
||||
});
|
||||
|
||||
|
@@ -131,24 +131,23 @@ test.describe('Folder Rules Actions', () => {
|
||||
|
||||
test('[XAT-888] Create a rule with multiple actions', async ({ personalFiles, nodesPage }) => {
|
||||
const checkInValue = 'check In Value';
|
||||
const actionValue = ' A site which contains sfdc content [sfdc:site] ';
|
||||
const autoDeclareOptionsValue = 'For all major and minor versions [ALL]';
|
||||
const actionValue = 'Site Container [st:siteContainer]';
|
||||
const specialiseTypeValue = 'Action Base Type [act:actionbase]';
|
||||
const simpleWorkFlow = 'accept reject';
|
||||
|
||||
await personalFiles.navigate({ remoteUrl: `#/nodes/${randomFolderName1Id}/rules` });
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.HideRecord, 0);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.IncrementCounter, 1);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.CheckIn, 2);
|
||||
await nodesPage.actionsDropdown.insertCheckInActionValues(checkInValue, 2);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 3);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues(actionValue, 3);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AutoDeclareOptions, 4);
|
||||
await nodesPage.actionsDropdown.insertAutoDeclareOptionsActionValues(autoDeclareOptionsValue, 4);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.SimpleWorkflow, 5);
|
||||
await nodesPage.actionsDropdown.insertSimpleWorkflowActionValues(simpleWorkFlow, 5);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.IncrementCounter, 0);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.CheckIn, 1);
|
||||
await nodesPage.actionsDropdown.insertCheckInActionValues(checkInValue, 1);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 2);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues(actionValue, 2);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.SpecialiseType, 3);
|
||||
await nodesPage.actionsDropdown.insertSpecialiseTypeActionValues(specialiseTypeValue, 3);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.SimpleWorkflow, 4);
|
||||
await nodesPage.actionsDropdown.insertSimpleWorkflowActionValues(simpleWorkFlow, 4);
|
||||
|
||||
await nodesPage.manageRulesDialog.createRuleButton.click();
|
||||
|
||||
@@ -185,18 +184,18 @@ test.describe('Folder Rules Actions', () => {
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Controls', 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Classifiable', 0);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 1);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('CMM', 1);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Countable', 1);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 2);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('folder', 2);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Incomplete', 2);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 3);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('site which', 3);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Site container', 3);
|
||||
await nodesPage.manageRulesDialog.createRuleButton.click();
|
||||
await nodesPage.manageRulesDialog.createRuleButton.waitFor({ state: 'hidden' });
|
||||
await nodesPage.manageRules.getGroupsList(randomRuleName).click();
|
||||
|
||||
await nodesPage.manageRules.checkAspects(['sc:controlsAreClearance', 'sfdc:objectModel', 'sfdc:folder', 'sfdc:site']);
|
||||
await nodesPage.manageRules.checkAspects(['cm:generalclassifiable', 'cm:countable', 'sys:incomplete', 'st:siteContainer']);
|
||||
});
|
||||
|
||||
test('[XAT-891] Prevent rule creation after clicking on cancel during selecting destination folder', async ({ nodesPage, personalFiles }) => {
|
||||
@@ -204,7 +203,7 @@ test.describe('Folder Rules Actions', () => {
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Controls', 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Classifiable', 0);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeEnabled();
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.Copy, 1);
|
||||
await nodesPage.manageRulesDialog.destinationFolderButton.click();
|
||||
@@ -217,7 +216,7 @@ test.describe('Folder Rules Actions', () => {
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Controls', 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Classifiable', 0);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeEnabled();
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.Copy, 1);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeDisabled();
|
||||
@@ -228,7 +227,7 @@ test.describe('Folder Rules Actions', () => {
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Controls', 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Classifiable', 0);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeEnabled();
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('None', 0);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeDisabled();
|
||||
@@ -239,7 +238,7 @@ test.describe('Folder Rules Actions', () => {
|
||||
await nodesPage.toolbar.clickCreateRuleButton();
|
||||
await nodesPage.manageRulesDialog.ruleNameInputLocator.fill(randomRuleName);
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.AddAspect, 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Controls', 0);
|
||||
await nodesPage.actionsDropdown.insertAddAspectActionValues('Classifiable', 0);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeEnabled();
|
||||
await nodesPage.actionsDropdown.selectAction(ActionType.CheckIn, 1);
|
||||
await expect(nodesPage.manageRulesDialog.createRuleButton).toBeEnabled();
|
||||
|
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"C261153": "https://alfresco.atlassian.net/browse/AAE-7517"
|
||||
"C261153": "https://alfresco.atlassian.net/browse/AAE-7517",
|
||||
"C589205": "https://hyland.atlassian.net/browse/ACS-9154"
|
||||
}
|
||||
|
@@ -80,35 +80,14 @@ test.describe('Empty list views', () => {
|
||||
|
||||
async function openEmptyTab(searchPage: SearchPage, tab: string, emptyStateTitle: string, emptyStateSubtitle: string) {
|
||||
await searchPage.sidenav.openPanel(tab);
|
||||
expect(await searchPage.dataTable.isEmpty()).toBeTruthy();
|
||||
expect(await searchPage.dataTable.getEmptyStateTitle()).toContain(emptyStateTitle);
|
||||
expect(await searchPage.dataTable.getEmptyStateSubtitle()).toContain(emptyStateSubtitle);
|
||||
}
|
||||
|
||||
[
|
||||
{
|
||||
tab: SIDEBAR_LABELS.FAVORITE_LIBRARIES,
|
||||
id: 'C289911',
|
||||
emptyStateTitle: `No Favorite Libraries`,
|
||||
emptyStateSubtitle: 'Favorite a library that you want to find easily later.'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.RECENT_FILES,
|
||||
id: 'C213169',
|
||||
emptyStateTitle: 'No recent files',
|
||||
emptyStateSubtitle: 'Items you uploaded or edited in the last 30 days are shown here.'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.FAVORITES,
|
||||
id: 'C280133',
|
||||
emptyStateTitle: 'No favorite files or folders',
|
||||
emptyStateSubtitle: 'Favorite items that you want to easily find later.'
|
||||
await searchPage.dataTable.spinnerWaitForReload();
|
||||
if (await searchPage.dataTable.isEmpty()) {
|
||||
expect(await searchPage.dataTable.getEmptyStateTitle()).toContain(emptyStateTitle);
|
||||
expect(await searchPage.dataTable.getEmptyStateSubtitle()).toContain(emptyStateSubtitle);
|
||||
} else {
|
||||
expect(await searchPage.dataTable.getRowsCount()).toEqual(1);
|
||||
}
|
||||
].forEach((testCase) => {
|
||||
test(`[${testCase.id}] empty ${testCase.tab}`, async ({ searchPage }) => {
|
||||
await openEmptyTab(searchPage, testCase.tab, testCase.emptyStateTitle, testCase.emptyStateSubtitle);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function checkPaginationForTabs(searchPage: SearchPage, tab: string, personalFiles: PersonalFilesPage) {
|
||||
await searchPage.sidenav.openPanel(tab);
|
||||
@@ -120,34 +99,49 @@ test.describe('Empty list views', () => {
|
||||
expect(await personalFiles.pagination.isNextButtonPresent()).toBeFalsy();
|
||||
}
|
||||
|
||||
[
|
||||
{
|
||||
tab: SIDEBAR_LABELS.FAVORITES,
|
||||
id: 'C280111'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.MY_LIBRARIES,
|
||||
id: 'C280084'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.FAVORITE_LIBRARIES,
|
||||
id: 'C291873'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.PERSONAL_FILES,
|
||||
id: 'C280075'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.RECENT_FILES,
|
||||
id: 'C280102'
|
||||
},
|
||||
{
|
||||
tab: SIDEBAR_LABELS.TRASH,
|
||||
id: 'C280120'
|
||||
}
|
||||
].forEach((testCase) => {
|
||||
test(`[${testCase.id}] ${testCase.tab} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, testCase.tab, personalFiles);
|
||||
});
|
||||
test(`[C289911] empty ${SIDEBAR_LABELS.FAVORITE_LIBRARIES}`, async ({ searchPage }) => {
|
||||
await openEmptyTab(
|
||||
searchPage,
|
||||
SIDEBAR_LABELS.FAVORITE_LIBRARIES,
|
||||
'No Favorite Libraries',
|
||||
'Favorite a library that you want to find easily later.'
|
||||
);
|
||||
});
|
||||
|
||||
test(`[C213169] empty ${SIDEBAR_LABELS.RECENT_FILES}`, async ({ searchPage }) => {
|
||||
await openEmptyTab(
|
||||
searchPage,
|
||||
SIDEBAR_LABELS.RECENT_FILES,
|
||||
'No recent files',
|
||||
'Items you uploaded or edited in the last 30 days are shown here.'
|
||||
);
|
||||
});
|
||||
|
||||
test(`[C280133] empty ${SIDEBAR_LABELS.FAVORITES}`, async ({ searchPage }) => {
|
||||
await openEmptyTab(searchPage, SIDEBAR_LABELS.FAVORITES, 'No favorite files or folders', 'Favorite items that you want to easily find later.');
|
||||
});
|
||||
|
||||
test(`[C280111] ${SIDEBAR_LABELS.FAVORITES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.FAVORITES, personalFiles);
|
||||
});
|
||||
|
||||
test(`[C280084] ${SIDEBAR_LABELS.MY_LIBRARIES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.MY_LIBRARIES, personalFiles);
|
||||
});
|
||||
|
||||
test(`[C291873] ${SIDEBAR_LABELS.FAVORITE_LIBRARIES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.FAVORITE_LIBRARIES, personalFiles);
|
||||
});
|
||||
|
||||
test(`[C280075] ${SIDEBAR_LABELS.PERSONAL_FILES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.PERSONAL_FILES, personalFiles);
|
||||
});
|
||||
|
||||
test(`[C280102] ${SIDEBAR_LABELS.RECENT_FILES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.RECENT_FILES, personalFiles);
|
||||
});
|
||||
|
||||
test(`[C280120] ${SIDEBAR_LABELS.TRASH} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
|
||||
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.TRASH, personalFiles);
|
||||
});
|
||||
});
|
||||
|
@@ -43,7 +43,14 @@ test.describe('Special permissions', () => {
|
||||
test.beforeAll(async () => {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
|
||||
try {
|
||||
await apiClientFactory.createUser({ username });
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test.describe('file not displayed if user no longer has permissions on it', () => {
|
||||
|
@@ -45,7 +45,14 @@ test.describe('Recent Files', () => {
|
||||
test.setTimeout(timeouts.extendedTest);
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
|
||||
try {
|
||||
await apiClientFactory.createUser({ username });
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
nodeActionsUser = await NodesApi.initialize(username, username);
|
||||
siteActionsUser = await SitesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
|
@@ -44,7 +44,15 @@ test.describe('Shared Files', () => {
|
||||
test.setTimeout(timeouts.extendedTest);
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
|
||||
try {
|
||||
await apiClientFactory.createUser({ username });
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
siteActionsAdmin = await SitesApi.initialize('admin');
|
||||
const nodesApiAdmin = await NodesApi.initialize('admin');
|
||||
const shareActionsAdmin = await SharedLinksApi.initialize('admin');
|
||||
|
@@ -2,5 +2,6 @@
|
||||
"C290019": "https://hyland.atlassian.net/browse/ACS-6928",
|
||||
"C290018": "https://hyland.atlassian.net/browse/ACS-6928",
|
||||
"C699046-3": "https://hyland.atlassian.net/browse/ACS-7464",
|
||||
"C699498": "https://hyland.atlassian.net/browse/ACS-7682"
|
||||
"C699498": "https://hyland.atlassian.net/browse/ACS-7682",
|
||||
"C277736": "https://hyland.atlassian.net/browse/ACS-9154"
|
||||
}
|
||||
|
@@ -107,61 +107,38 @@ test.describe('Search sorting', () => {
|
||||
expectedFirstFile: string,
|
||||
expectedSecondFile: string
|
||||
) {
|
||||
await searchPage.searchWithin(`search-sort *${random}`, 'files');
|
||||
|
||||
await searchPage.searchWithin(`*${random}*`, 'files');
|
||||
await searchPage.searchSortingPicker.sortBy(sortBy, sortOrder);
|
||||
|
||||
expect(await searchPage.dataTable.getNthRow(0).textContent()).toContain(expectedFirstFile);
|
||||
expect(await searchPage.dataTable.getNthRow(1).textContent()).toContain(expectedSecondFile);
|
||||
}
|
||||
|
||||
[
|
||||
{
|
||||
column: 'Name',
|
||||
id: 'C277728',
|
||||
firstFile: fileJpg.name,
|
||||
secondFile: filePdf.name
|
||||
},
|
||||
{
|
||||
column: 'Type',
|
||||
id: 'C277740',
|
||||
firstFile: filePdf.name,
|
||||
secondFile: fileJpg.name
|
||||
},
|
||||
{
|
||||
column: 'Size',
|
||||
id: 'C277738',
|
||||
firstFile: filePdf.name,
|
||||
secondFile: fileJpg.name
|
||||
},
|
||||
{
|
||||
column: 'Created date',
|
||||
id: 'C277734',
|
||||
firstFile: fileJpg.name,
|
||||
secondFile: filePdf.name
|
||||
},
|
||||
{
|
||||
column: 'Modified date',
|
||||
id: 'C277736',
|
||||
firstFile: fileJpg.name,
|
||||
secondFile: filePdf.name
|
||||
},
|
||||
{
|
||||
column: 'Relevance',
|
||||
id: 'C277727',
|
||||
firstFile: fileJpg.name,
|
||||
secondFile: filePdf.name
|
||||
},
|
||||
{
|
||||
column: 'Modifier',
|
||||
id: 'C277732',
|
||||
firstFile: fileJpg.name,
|
||||
secondFile: filePdf.name
|
||||
}
|
||||
].forEach((testCase) => {
|
||||
test(`[${testCase.id}] Sort by ${testCase.column}`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, testCase.column as SortByType, 'asc', testCase.firstFile, testCase.secondFile);
|
||||
});
|
||||
test(`[C277728] Sort by Name`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Name' as SortByType, 'asc', fileJpg.name, filePdf.name);
|
||||
});
|
||||
|
||||
test(`[C277740] Sort by Type`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Type' as SortByType, 'asc', filePdf.name, fileJpg.name);
|
||||
});
|
||||
|
||||
test(`[C277738] Sort by Size`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Size' as SortByType, 'asc', filePdf.name, fileJpg.name);
|
||||
});
|
||||
|
||||
test(`[C277734] Sort by Created date`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Created date' as SortByType, 'asc', fileJpg.name, filePdf.name);
|
||||
});
|
||||
|
||||
test(`[C277736] Sort by Modified date`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Modified date' as SortByType, 'asc', fileJpg.name, filePdf.name);
|
||||
});
|
||||
|
||||
test(`[C277727] Sort by Relevance`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Relevance' as SortByType, 'asc', fileJpg.name, filePdf.name);
|
||||
});
|
||||
|
||||
test(`[C277732] Sort by Modifier`, async ({ searchPage }) => {
|
||||
await testSearchSorting(searchPage, 'Modifier' as SortByType, 'asc', fileJpg.name, filePdf.name);
|
||||
});
|
||||
|
||||
test('[C277722] Sorting options are displayed', async ({ searchPage }) => {
|
||||
|
@@ -2,5 +2,6 @@
|
||||
"XAT-17181": "https://hyland.atlassian.net/browse/ACS-8865",
|
||||
"XAT-17182": "https://hyland.atlassian.net/browse/ACS-8865",
|
||||
"XAT-17184": "https://hyland.atlassian.net/browse/ACS-8865",
|
||||
"XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865"
|
||||
"XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865",
|
||||
"MNT-21058": "https://hyland.atlassian.net/browse/ACS-9154"
|
||||
}
|
||||
|
@@ -181,7 +181,7 @@ test.describe('viewer action file', () => {
|
||||
|
||||
test('[C297586] [C307004] Upload new version action - major', async ({ personalFiles, nodesApiAction }) => {
|
||||
await personalFiles.dataTable.performClickFolderOrFileToOpen(filePersonalFiles);
|
||||
await personalFiles.viewer.waitForViewerToOpen();
|
||||
await personalFiles.viewer.waitForViewerToOpen('wait for viewer content');
|
||||
|
||||
await Utils.uploadFileNewVersion(personalFiles, docxFile2);
|
||||
|
||||
@@ -191,7 +191,9 @@ test.describe('viewer action file', () => {
|
||||
await personalFiles.uploadNewVersionDialog.uploadButton.waitFor({ state: 'detached' });
|
||||
await expect(personalFiles.uploadNewVersionDialog.cancelButton).toHaveCount(0);
|
||||
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not open').toBe(true);
|
||||
expect(await personalFiles.viewer.fileTitleButtonLocator.innerText()).toContain(docxFile2);
|
||||
await Utils.waitForApiResponse(personalFiles, 'content', 200);
|
||||
|
||||
expect(await personalFiles.viewer.getFileTitle()).toContain(docxFile2);
|
||||
expect(await nodesApiAction.getNodeProperty(filePersonalFilesId, 'cm:versionType'), 'File has incorrect version type').toEqual('MAJOR');
|
||||
expect(await nodesApiAction.getNodeProperty(filePersonalFilesId, 'cm:versionLabel'), 'File has incorrect version label').toEqual('2.0');
|
||||
});
|
||||
@@ -207,7 +209,8 @@ test.describe('viewer action file', () => {
|
||||
await expect(personalFiles.uploadNewVersionDialog.cancelButton).toHaveCount(0);
|
||||
|
||||
await personalFiles.viewer.waitForViewerToOpen();
|
||||
expect(await personalFiles.viewer.fileTitleButtonLocator.innerText()).toContain(docxFile);
|
||||
await Utils.waitForApiResponse(personalFiles, 'content', 200);
|
||||
expect(await personalFiles.viewer.getFileTitle()).toContain(docxFile);
|
||||
|
||||
await personalFiles.acaHeader.clickViewerMoreActions();
|
||||
await expect(personalFiles.matMenu.getMenuItemFromHeaderMenu('Cancel Editing'), `'Cancel Editing' button shouldn't be shown`).toBeHidden();
|
||||
|
@@ -45,7 +45,15 @@ test.describe('viewer file types', () => {
|
||||
test.beforeAll(async () => {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
|
||||
try {
|
||||
await apiClientFactory.createUser({ username });
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
fileActionApi = await FileActionsApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
|
@@ -60,7 +60,13 @@ test.describe('viewer file', () => {
|
||||
const randomFolderName = `viewer-${Utils.random()}`;
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
try {
|
||||
await apiClientFactory.createUser({ username });
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
const fileActionApi = await FileActionsApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
@@ -77,13 +83,41 @@ test.describe('viewer file', () => {
|
||||
await shareActions.shareFileById(fileDocxId);
|
||||
await favoritesActions.addFavoriteById('file', fileDocxId);
|
||||
|
||||
await siteActionsAdmin.createSite(siteAdmin, Site.VisibilityEnum.PRIVATE);
|
||||
docLibId = await siteActionsAdmin.getDocLibId(siteAdmin);
|
||||
fileAdminId = (await fileActionApiAdmin.uploadFile(TEST_FILES.DOCX.path, fileAdmin, docLibId)).entry.id;
|
||||
try {
|
||||
await siteActionsAdmin.createSite(siteAdmin, Site.VisibilityEnum.PRIVATE);
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
docLibId = await siteActionsAdmin.getDocLibId(siteAdmin);
|
||||
|
||||
try {
|
||||
fileAdminId = (await fileActionApiAdmin.uploadFile(TEST_FILES.DOCX.path, fileAdmin, docLibId)).entry.id;
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await siteActionsUser.createSite(siteUser, Site.VisibilityEnum.PUBLIC);
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
await siteActionsUser.createSite(siteUser, Site.VisibilityEnum.PUBLIC);
|
||||
docLibSiteUserId = await siteActionsUser.getDocLibId(siteUser);
|
||||
await fileActionApi.uploadFile(TEST_FILES.DOCX.path, fileInSite, docLibSiteUserId);
|
||||
|
||||
try {
|
||||
await fileActionApi.uploadFile(TEST_FILES.DOCX.path, fileInSite, docLibSiteUserId);
|
||||
} catch (exception) {
|
||||
if (JSON.parse(exception.message).error.statusCode !== 409) {
|
||||
throw new Error(`----- beforeAll failed : ${exception}`);
|
||||
}
|
||||
}
|
||||
|
||||
await Promise.all([
|
||||
favoritesActions.isFavoriteWithRetry(username, fileDocxId, { expect: true }),
|
||||
|
Reference in New Issue
Block a user