access-to-pagelist.spec.ts 4.4 KB

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