mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACA-2008] tests for add favourite /remove favorite on a site (#810)
This commit is contained in:
committed by
Denys Vuika
parent
79f92c38ef
commit
9b7ad0b0b3
@@ -24,7 +24,7 @@
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../pages/pages';
|
||||
import { SITE_VISIBILITY } from '../../configs';
|
||||
import { SITE_VISIBILITY, SITE_ROLES } from '../../configs';
|
||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../utilities/utils';
|
||||
|
||||
@@ -494,4 +494,60 @@ describe('Mark items as favorites', () => {
|
||||
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||
});
|
||||
});
|
||||
|
||||
describe('on a library', () => {
|
||||
const adminSite1 = `adminSite1-${Utils.random()}`;
|
||||
const adminSite2 = `adminSite2-${Utils.random()}`;
|
||||
const adminSite3 = `adminSite3-${Utils.random()}`;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.sites.createSite(adminSite1);
|
||||
await apis.admin.sites.createSite(adminSite2);
|
||||
await apis.admin.sites.createSite(adminSite3);
|
||||
await apis.admin.sites.addSiteMember(adminSite1, username, SITE_ROLES.SITE_CONSUMER.ROLE);
|
||||
await apis.admin.sites.addSiteMember(adminSite2, username, SITE_ROLES.SITE_CONSUMER.ROLE);
|
||||
await apis.admin.sites.addSiteMember(adminSite3, username, SITE_ROLES.SITE_CONSUMER.ROLE);
|
||||
|
||||
await apis.user.favorites.addFavoriteById('site', adminSite2);
|
||||
await apis.user.favorites.addFavoriteById('site', adminSite3);
|
||||
done();
|
||||
});
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.admin.sites.deleteSite(adminSite1);
|
||||
await apis.admin.sites.deleteSite(adminSite2);
|
||||
await apis.admin.sites.deleteSite(adminSite3);
|
||||
done();
|
||||
});
|
||||
|
||||
it('Mark a library as favorite - [C289974]', async () => {
|
||||
await page.goToMyLibraries();
|
||||
await dataTable.selectItem(adminSite1);
|
||||
await toolbar.openMoreMenu();
|
||||
await toolbar.menu.clickMenuItem('Favorite');
|
||||
expect(await apis.user.favorites.isFavoriteWithRetry(adminSite1, { expect: true })).toBe(true, `${adminSite1} not favorite`);
|
||||
});
|
||||
|
||||
it('Remove a library from favorites - on My Libraries - [C289975]', async () => {
|
||||
await page.goToMyLibraries();
|
||||
await dataTable.selectItem(adminSite2);
|
||||
await toolbar.openMoreMenu();
|
||||
await toolbar.menu.clickMenuItem('Favorite');
|
||||
expect(await apis.user.favorites.isFavoriteWithRetry(adminSite2, { expect: false })).toBe(false, `${adminSite2} still favorite`);
|
||||
});
|
||||
|
||||
it('Remove a library from favorites - on Favorite Libraries - [C289976]', async () => {
|
||||
await page.goToFavoriteLibraries();
|
||||
await dataTable.selectItem(adminSite3);
|
||||
await toolbar.openMoreMenu();
|
||||
await toolbar.menu.clickMenuItem('Favorite');
|
||||
expect(await dataTable.getRowByName(adminSite3).isPresent()).toBe(false, `${adminSite3} is displayed`);
|
||||
expect(await apis.user.favorites.isFavoriteWithRetry(adminSite3, { expect: false })).toBe(false, `${adminSite3} still favorite`);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@@ -103,6 +103,7 @@ describe('Toolbar actions - single selection : ', () => {
|
||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${siteName}`);
|
||||
await toolbar.openMoreMenu();
|
||||
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${siteName}`);
|
||||
});
|
||||
|
||||
it('Correct actions appear when a library is selected - Favorite Libraries - [C289892]', async () => {
|
||||
@@ -112,6 +113,7 @@ describe('Toolbar actions - single selection : ', () => {
|
||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${siteName}`);
|
||||
await toolbar.openMoreMenu();
|
||||
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${siteName}`);
|
||||
});
|
||||
|
||||
it('selected row is marked with a check circle icon - [C213134]', async () => {
|
||||
|
@@ -79,13 +79,32 @@ export class FavoritesApi extends RepoApi {
|
||||
|
||||
async getFavoriteById(nodeId: string) {
|
||||
await this.apiAuth();
|
||||
return await this.alfrescoJsApi.core.favoritesApi.getFavorite('-me', nodeId);
|
||||
return await this.alfrescoJsApi.core.favoritesApi.getFavorite('-me-', nodeId);
|
||||
}
|
||||
|
||||
async isFavorite(nodeId: string) {
|
||||
return JSON.stringify((await this.getFavorites()).list.entries).includes(nodeId);
|
||||
}
|
||||
|
||||
async isFavoriteWithRetry(nodeId: string, data) {
|
||||
let isFavorite;
|
||||
try {
|
||||
const favorite = async () => {
|
||||
isFavorite = JSON.stringify((await this.getFavorites()).list.entries).includes(nodeId);
|
||||
if ( isFavorite !== data.expect ) {
|
||||
return Promise.reject(isFavorite);
|
||||
} else {
|
||||
return Promise.resolve(isFavorite);
|
||||
}
|
||||
};
|
||||
|
||||
return await Utils.retryCall(favorite);
|
||||
} catch (error) {
|
||||
console.log('-----> catch isFavoriteWithRetry: ', error);
|
||||
}
|
||||
return isFavorite;
|
||||
}
|
||||
|
||||
async removeFavoriteById(nodeId: string) {
|
||||
await this.apiAuth();
|
||||
return await this.alfrescoJsApi.core.peopleApi.removeFavoriteSite('-me-', nodeId);
|
||||
|
Reference in New Issue
Block a user