20-basic-features--access-to-pagelist.spec.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. context('Access to pagelist', () => {
  2. const ssPrefix = 'access-to-pagelist-';
  3. beforeEach(() => {
  4. // login
  5. cy.fixture("user-admin.json").then(user => {
  6. cy.login(user.username, user.password);
  7. });
  8. });
  9. it('Page list modal is successfully opened ', () => {
  10. cy.visit('/');
  11. cy.waitUntilSkeletonDisappear();
  12. cy.collapseSidebar(true);
  13. cy.getByTestid('pageListButton').click({force: true});
  14. cy.getByTestid('page-accessories-modal').parent().should('have.class','show');
  15. cy.getByTestid('page-list-item-L').should('be.visible');
  16. // Wait until the string "You cannot see this page" is no longer displayed
  17. cy.getByTestid('page-list-item-L').eq(0).within(() => {
  18. cy.get('.icon-exclamation').should('not.exist');
  19. });
  20. cy.screenshot(`${ssPrefix}1-open-pagelist-modal`);
  21. });
  22. it('Successfully duplicate a page from page list', () => {
  23. cy.visit('/');
  24. cy.getByTestid('pageListButton').click({force: true});
  25. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  26. cy.getByTestid('open-page-item-control-btn').first().click();
  27. cy.getByTestid('page-item-control-menu').should('have.class', 'show').first().within(() => {
  28. // eslint-disable-next-line cypress/no-unnecessary-waiting
  29. cy.wait(300);
  30. cy.screenshot(`${ssPrefix}2-open-page-item-control-menu`);
  31. cy.getByTestid('open-page-duplicate-modal-btn').click();
  32. });
  33. });
  34. cy.getByTestid('page-duplicate-modal').should('be.visible').screenshot(`${ssPrefix}3-duplicate-page-modal-opened`);
  35. cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
  36. cy.get('.rbt-input-main').type('-duplicate', {force: true})
  37. }).screenshot(`${ssPrefix}4-input-duplicated-page-name`);
  38. cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
  39. cy.get('.modal-footer > button').click();
  40. });
  41. cy.get('body').type('{esc}');
  42. cy.getByTestid('pageListButton').click({force: true});
  43. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  44. cy.get('.list-group-item').eq(0).within(() => {
  45. cy.screenshot(`${ssPrefix}5-duplicated-page`);
  46. });
  47. });
  48. });
  49. it('Successfully expand and close modal', () => {
  50. cy.visit('/');
  51. cy.waitUntilSkeletonDisappear();
  52. cy.collapseSidebar(true);
  53. cy.getByTestid('pageListButton').click({force: true});
  54. cy.getByTestid('page-accessories-modal').parent().should('have.class','show');
  55. cy.getByTestid('page-list-item-L').should('be.visible');
  56. // Wait until the string "You cannot see this page" is no longer displayed
  57. cy.getByTestid('page-list-item-L').eq(0).within(() => {
  58. cy.get('.icon-exclamation').should('not.exist');
  59. });
  60. cy.screenshot(`${ssPrefix}6-page-list-modal-size-normal`);
  61. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  62. cy.get('button.close').eq(0).click();
  63. });
  64. cy.screenshot(`${ssPrefix}7-page-list-modal-size-fullscreen`);
  65. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  66. cy.get('button.close').eq(1).click();
  67. });
  68. cy.collapseSidebar(true);
  69. cy.screenshot(`${ssPrefix}8-close-page-list-modal`);
  70. });
  71. });
  72. context('Access to timeline', () => {
  73. const ssPrefix = 'access-to-timeline-';
  74. beforeEach(() => {
  75. // login
  76. cy.fixture("user-admin.json").then(user => {
  77. cy.login(user.username, user.password);
  78. });
  79. });
  80. it('Timeline list successfully openend', () => {
  81. cy.visit('/');
  82. cy.collapseSidebar(true);
  83. cy.getByTestid('pageListButton').click({force: true});
  84. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  85. cy.get('.nav-title > li').eq(1).find('a').click();
  86. });
  87. // eslint-disable-next-line cypress/no-unnecessary-waiting
  88. cy.wait(500); // wait for loading wiki
  89. cy.screenshot(`${ssPrefix}1-timeline-list`);
  90. });
  91. it('Successfully expand and close modal', () => {
  92. cy.visit('/');
  93. cy.collapseSidebar(true);
  94. cy.getByTestid('pageListButton').click({force: true});
  95. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  96. cy.get('.nav-title > li').eq(1).find('a').click();
  97. cy.get('button.close').eq(0).click();
  98. });
  99. cy.get('.modal').should('be.visible');
  100. // eslint-disable-next-line cypress/no-unnecessary-waiting
  101. cy.wait(500); // wait for loading wiki
  102. cy.screenshot(`${ssPrefix}2-timeline-list-fullscreen`);
  103. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  104. cy.get('button.close').eq(1).click();
  105. });
  106. cy.screenshot(`${ssPrefix}3-close-modal`);
  107. });
  108. });