|
|
@@ -1,191 +1,249 @@
|
|
|
-context('Access to sidebar', () => {
|
|
|
+describe('Access to sidebar', () => {
|
|
|
const ssPrefix = 'access-to-sidebar-';
|
|
|
|
|
|
- beforeEach(() => {
|
|
|
- // login
|
|
|
- cy.fixture("user-admin.json").then(user => {
|
|
|
- cy.login(user.username, user.password);
|
|
|
- });
|
|
|
- // collapse sidebar
|
|
|
- cy.collapseSidebar(false);
|
|
|
- });
|
|
|
-
|
|
|
- it('Successfully show/collapse sidebar', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.screenshot(`${ssPrefix}-1-sidebar-shown`, {capture: 'viewport'});
|
|
|
- cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
- cy.screenshot(`${ssPrefix}-2-sidebar-collapsed`, {capture: 'viewport'});
|
|
|
-
|
|
|
- });
|
|
|
- it('Successfully access recent changes side bar ', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.getByTestid('grw-sidebar-nav-primary-recent-changes').click();
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').then(($el) => {
|
|
|
- if($el.hasClass('d-none')){
|
|
|
- cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- cy.getByTestid('grw-recent-changes').should('be.visible');
|
|
|
- cy.get('.list-group-item').should('be.visible');
|
|
|
-
|
|
|
- cy.scrollTo('top');
|
|
|
- cy.screenshot(`${ssPrefix}recent-changes-1-page-list`);
|
|
|
-
|
|
|
- cy.get('#grw-sidebar-contents-wrapper').within(() => {
|
|
|
- cy.get('#recentChangesResize').click({force: true});
|
|
|
- cy.get('.list-group-item').should('be.visible');
|
|
|
- });
|
|
|
-
|
|
|
- cy.scrollTo('top');
|
|
|
- cy.screenshot(`${ssPrefix}recent-changes-2-switch-sidebar-size`);
|
|
|
- });
|
|
|
-
|
|
|
- it('Successfully create a custom sidebar page', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.getByTestid('grw-sidebar-nav-primary-custom-sidebar').click();
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').then(($el) => {
|
|
|
- if($el.hasClass('d-none')){
|
|
|
- cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').screenshot(`${ssPrefix}custom-sidebar-1-click-on-custom-sidebar`);
|
|
|
-
|
|
|
- // create /Sidebar contents
|
|
|
- const content = '# HELLO \n ## Hello\n ### Hello';
|
|
|
- cy.get('.grw-sidebar-content-header.h5').find('a').click();
|
|
|
- cy.get('.CodeMirror textarea').type(content, {force: true});
|
|
|
- cy.screenshot(`${ssPrefix}custom-sidebar-2-custom-sidebar-editor`);
|
|
|
- cy.getByTestid('save-page-btn').click();
|
|
|
- cy.get('.layout-root', { timeout: 10000 }).should('not.have.class', 'editing');
|
|
|
-
|
|
|
- // What to do when UserUISettings is not saved in time
|
|
|
- cy.getByTestid('grw-sidebar-nav-primary-custom-sidebar').then(($el) => {
|
|
|
- if (!$el.hasClass('active')) {
|
|
|
- cy.wrap($el).click();
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- cy.get('.grw-custom-sidebar-content').should('be.visible');
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').screenshot(`${ssPrefix}custom-sidebar-3-custom-sidebar-created`);
|
|
|
- });
|
|
|
-
|
|
|
- it('Successfully performed page operation from "page tree"', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.getByTestid('grw-sidebar-nav-primary-page-tree').click();
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').then(($el) => {
|
|
|
- if($el.hasClass('d-none')){
|
|
|
- cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').should('be.visible')
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).should('be.visible');
|
|
|
- cy.screenshot(`${ssPrefix}page-tree-1-access-to-page-tree`);
|
|
|
-
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').screenshot(`${ssPrefix}page-tree-2-hide-page-tree-item`);
|
|
|
- cy.get('.grw-pagetree-triangle-btn').eq(0).click();
|
|
|
-
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
- cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click();
|
|
|
- });
|
|
|
-
|
|
|
- cy.screenshot(`${ssPrefix}page-tree-3-click-three-dots-menu`);
|
|
|
- cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
- cy.getByTestid('add-remove-bookmark-btn').click();
|
|
|
- });
|
|
|
- cy.screenshot(`${ssPrefix}page-tree-4-add-bookmark`);
|
|
|
-
|
|
|
-
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
- cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click();
|
|
|
- });
|
|
|
- cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
- cy.getByTestid('open-page-duplicate-modal-btn').click();
|
|
|
- });
|
|
|
-
|
|
|
- cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
|
|
|
- cy.get('.rbt-input-main').type('_test');
|
|
|
- cy.screenshot(`${ssPrefix}page-tree-5-duplicate-page`);
|
|
|
- cy.get('.modal-header > button').click();
|
|
|
- });
|
|
|
-
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
- cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click()
|
|
|
- });
|
|
|
- cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
- cy.getByTestid('open-page-move-rename-modal-btn').click();
|
|
|
- });
|
|
|
-
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
- cy.getByTestid('closable-text-input').type('_newname');
|
|
|
- });
|
|
|
-
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').screenshot(`${ssPrefix}page-tree-6-rename-page`);
|
|
|
- cy.get('body').click(0,0);
|
|
|
-
|
|
|
- cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
- cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click()
|
|
|
- });
|
|
|
- cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
- cy.getByTestid('open-page-delete-modal-btn').click();
|
|
|
+ context('when logged in', () => {
|
|
|
+ beforeEach(() => {
|
|
|
+ // login
|
|
|
+ cy.fixture("user-admin.json").then(user => {
|
|
|
+ cy.login(user.username, user.password);
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
- cy.getByTestid('page-delete-modal').should('be.visible').within(() => {
|
|
|
- cy.screenshot(`${ssPrefix}page-tree-7-delete-page`);
|
|
|
- cy.get('.modal-header > button').click();
|
|
|
- });
|
|
|
+ context('when access to root page', { scrollBehavior: false }, () => {
|
|
|
+ beforeEach(() => {
|
|
|
+ cy.visit('/');
|
|
|
+ cy.waitUntilSkeletonDisappear();
|
|
|
+ cy.collapseSidebar(false);
|
|
|
+ });
|
|
|
|
|
|
- });
|
|
|
+ describe('Test show/collapse button', () => {
|
|
|
+ it('Successfully show sidebar', () => {
|
|
|
+ cy.get('.grw-pagetree').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}1-sidebar-shown`, {
|
|
|
+ capture: 'viewport',
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully collapse sidebar', () => {
|
|
|
+ cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
+ cy.screenshot(`${ssPrefix}2-sidebar-collapsed`, {
|
|
|
+ capture: 'viewport',
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- it('Successfully performed page operation from "Tags" ', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.getByTestid('grw-sidebar-nav-primary-tags').click();
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').then(($el) => {
|
|
|
- if($el.hasClass('d-none')){
|
|
|
- cy.getByTestid('grw-navigation-resize-button').click({force: true});
|
|
|
- }
|
|
|
- });
|
|
|
- cy.getByTestid('grw-contextual-navigation-sub').screenshot(`${ssPrefix}tags-1-access-to-tags`);
|
|
|
+ describe('Test page tree tab', () => {
|
|
|
+ it('Successfully access to page tree', () => {
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-pagetree').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-1-access-to-page-tree`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully hide page tree items', () => {
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-pagetree-open').should('be.visible');
|
|
|
+
|
|
|
+ // hide page tree tiems
|
|
|
+ cy.get('.grw-pagetree-triangle-btn').eq(0).click();
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-2-hide-page-tree-items`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully click Add to Bookmarks button', () => {
|
|
|
+ // click three dots
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click();
|
|
|
+ });
|
|
|
+
|
|
|
+ cy.getByTestid('page-item-control-menu').should('have.class', 'show');
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-3-before-click-button`, {
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+
|
|
|
+ // click add remove bookmark btn
|
|
|
+ cy.getByTestid('page-item-control-menu').should('have.class', 'show').within(() => {
|
|
|
+ cy.getByTestid('add-remove-bookmark-btn').click();
|
|
|
+ });
|
|
|
+
|
|
|
+ // show dropdown again
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click();
|
|
|
+ });
|
|
|
+
|
|
|
+ cy.getByTestid('page-item-control-menu').should('have.class', 'show');
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-4-after-click-button`, {
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully show duplicate page modal', () => {
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click();
|
|
|
+ });
|
|
|
+ cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
+ cy.getByTestid('open-page-duplicate-modal-btn').click();
|
|
|
+ });
|
|
|
+ cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
|
|
|
+ cy.get('.rbt-input-main').type('_test');
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-5-duplicate-page-modal`);
|
|
|
+ cy.get('.modal-header > button').click();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully rename page', () => {
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click()
|
|
|
+ });
|
|
|
+ cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
+ cy.getByTestid('open-page-move-rename-modal-btn').click();
|
|
|
+ });
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('closable-text-input').type('_newname');
|
|
|
+ });
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-6-rename-page`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully show delete page modal', () => {
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-pagetree-item-children').eq(0).within(() => {
|
|
|
+ cy.getByTestid('open-page-item-control-btn').find('button').eq(0).invoke('css','display','block').click()
|
|
|
+ });
|
|
|
+ cy.get('.dropdown-menu.show').should('be.visible').within(() => {
|
|
|
+ cy.getByTestid('open-page-delete-modal-btn').click();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ cy.getByTestid('page-delete-modal').should('be.visible').within(() => {
|
|
|
+ cy.screenshot(`${ssPrefix}page-tree-7-delete-page-modal`);
|
|
|
+ cy.get('.modal-header > button').click();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- cy.get('.grw-container-convertible > div > .btn-primary').click({force: true});
|
|
|
+ describe('Test custom sidebar tab', () => {
|
|
|
+ it('Successfully access to custom sidebar', () => {
|
|
|
+ cy.getByTestid('grw-sidebar-nav-primary-custom-sidebar').click();
|
|
|
+
|
|
|
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
|
+ cy.wait(1500); // Wait debounce for UserUISettings update
|
|
|
+
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-sidebar-content-header.h5').find('a');
|
|
|
+ cy.screenshot(`${ssPrefix}custom-sidebar-1-access-to-custom-sidebar`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully redirect to editor', () => {
|
|
|
+ const content = '# HELLO \n ## Hello\n ### Hello';
|
|
|
+
|
|
|
+ cy.get('.grw-sidebar-content-header.h5').find('a').click();
|
|
|
+ cy.get('.CodeMirror textarea').type(content, {force: true});
|
|
|
+ cy.screenshot(`${ssPrefix}custom-sidebar-2-redirect-to-editor`);
|
|
|
+ cy.getByTestid('save-page-btn').click();
|
|
|
+ cy.get('.layout-root').should('not.have.class', 'editing');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully create custom sidebar content', () => {
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.get('.grw-custom-sidebar-content').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}custom-sidebar-3-content-created`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- // collapse sidebar
|
|
|
- cy.collapseSidebar(true);
|
|
|
+ describe('Test recent changes tab', () => {
|
|
|
+ it('Successfully access to recent changes', () => {
|
|
|
+ cy.getByTestid('grw-sidebar-nav-primary-recent-changes').click();
|
|
|
+
|
|
|
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
|
+ cy.wait(1500); // Wait debounce for UserUISettings update
|
|
|
+
|
|
|
+ cy.getByTestid('grw-recent-changes').should('be.visible');
|
|
|
+ cy.get('.list-group-item').should('be.visible');
|
|
|
+
|
|
|
+ // The scope of the capture is not narrowed because the blackout is shifted
|
|
|
+ cy.screenshot(`${ssPrefix}recent-changes-1-access-to-recent-changes`, {
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Successfully switch content size', () => {
|
|
|
+ cy.get('#grw-sidebar-contents-wrapper').within(() => {
|
|
|
+ cy.get('#recentChangesResize').click({force: true});
|
|
|
+ cy.get('.list-group-item').should('be.visible');
|
|
|
+ });
|
|
|
+
|
|
|
+ // The scope of the capture is not narrowed because the blackout is shifted
|
|
|
+ cy.screenshot(`${ssPrefix}recent-changes-2-switch-content-size`, {
|
|
|
+ // Blackout for recalculation of toc content hight
|
|
|
+ blackout: ['.grw-side-contents-container', '[data-hide-in-vrt=true]'],
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- cy.screenshot(`${ssPrefix}tags-2-check-all-tags`);
|
|
|
- });
|
|
|
+ describe('Test tags tab', () => {
|
|
|
+ it('Successfully access to tags', () => {
|
|
|
+ cy.getByTestid('grw-sidebar-nav-primary-tags').click();
|
|
|
+
|
|
|
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
|
|
|
+ cy.wait(1500); // Wait debounce for UserUISettings update
|
|
|
+
|
|
|
+ cy.getByTestid('grw-contextual-navigation-sub').within(() => {
|
|
|
+ cy.getByTestid('grw-tags-list').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}tags-1-access-to-tags`);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('Succesfully click all tags button', () => {
|
|
|
+ cy.get('.grw-container-convertible > div > .btn-primary').click({force: true});
|
|
|
+ cy.collapseSidebar(true);
|
|
|
+ cy.getByTestid('grw-tags-list').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}tags-2-click-all-tags-button`);
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
- // it('Successfully access to My Drafts page', () => {
|
|
|
- // cy.visit('/');
|
|
|
- // cy.collapseSidebar(true);
|
|
|
- // cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
- // cy.get('a[href*="/me/drafts"]').click();
|
|
|
- // });
|
|
|
- // cy.screenshot(`${ssPrefix}access-to-drafts-page`);
|
|
|
- // });
|
|
|
- it('Successfully access to GROWI Docs page', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
- cy.get('a[href*="https://docs.growi.org"]').then(($a) => {
|
|
|
- const url = $a.prop('href')
|
|
|
- cy.request(url).its('body').should('include', '</html>');
|
|
|
+ // TODO: No Drafts pages on GROWI version 6
|
|
|
+ // it('Successfully access to My Drafts page', () => {
|
|
|
+ // cy.visit('/');
|
|
|
+ // cy.collapseSidebar(true);
|
|
|
+ // cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
+ // cy.get('a[href*="/me/drafts"]').click();
|
|
|
+ // });
|
|
|
+ // cy.screenshot(`${ssPrefix}access-to-drafts-page`);
|
|
|
+ // });
|
|
|
+
|
|
|
+ describe('Test access to GROWI Docs page', () => {
|
|
|
+ it('Successfully access to GROWI Docs page', () => {
|
|
|
+ cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
+ cy.get('a[href*="https://docs.growi.org"]').then(($a) => {
|
|
|
+ const url = $a.prop('href')
|
|
|
+ cy.request(url).its('body').should('include', '</html>');
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
- });
|
|
|
|
|
|
- it('Successfully access to trash page', () => {
|
|
|
- cy.visit('/');
|
|
|
- cy.collapseSidebar(true);
|
|
|
- cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
- cy.get('a[href*="/trash"]').click();
|
|
|
+ describe('Test access to trash page', () => {
|
|
|
+ it('Successfully access to trash page', () => {
|
|
|
+ cy.collapseSidebar(true);
|
|
|
+ cy.get('.grw-sidebar-nav-secondary-container').within(() => {
|
|
|
+ cy.get('a[href*="/trash"]').click();
|
|
|
+ });
|
|
|
+
|
|
|
+ cy.get('.grw-page-path-hierarchical-link').should('be.visible');
|
|
|
+ cy.get('.grw-custom-nav-tab').should('be.visible');
|
|
|
+ cy.screenshot(`${ssPrefix}access-to-trash-page`);
|
|
|
+ });
|
|
|
+ });
|
|
|
});
|
|
|
-
|
|
|
- cy.get('.grw-page-path-hierarchical-link').should('be.visible');
|
|
|
-
|
|
|
- cy.get('.grw-custom-nav-tab').should('be.visible');
|
|
|
-
|
|
|
- cy.screenshot(`${ssPrefix}access-to-trash-page`);
|
|
|
});
|
|
|
});
|