access-to-pagelist.spec.ts 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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 add a bookmark 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. });
  26. })
  27. });
  28. it('Successfully duplicate a page from page list', () => {
  29. cy.visit('/');
  30. cy.getByTestid('pageListButton').click({force: true});
  31. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  32. cy.getByTestid('open-page-item-control-btn').first().click();
  33. cy.get('.dropdown-menu').should('have.class', 'show').first().within(() => {
  34. cy.getByTestid('open-page-duplicate-modal-btn').click();
  35. });
  36. });
  37. cy.getByTestid('page-duplicate-modal').should('be.visible').screenshot(`${ssPrefix}3-duplicate-page-modal-opened`);
  38. cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
  39. cy.get('.rbt-input-main').type('-duplicate', {force: true})
  40. }).screenshot(`${ssPrefix}4-input-duplicated-page-name`);
  41. cy.getByTestid('page-duplicate-modal').should('be.visible').within(() => {
  42. cy.get('.modal-footer > button').click();
  43. });
  44. cy.get('body').type('{esc}');
  45. cy.getByTestid('pageListButton').click({force: true});
  46. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  47. cy.get('.list-group-item').eq(0).within(() => {
  48. cy.screenshot(`${ssPrefix}5-duplicated-page`);
  49. });
  50. });
  51. });
  52. it('Successfully expand and close modal', () => {
  53. cy.visit('/');
  54. cy.getByTestid('pageListButton').click({force: true});
  55. cy.getByTestid('page-accessories-modal').parent().should('have.class','show');
  56. cy.screenshot(`${ssPrefix}6-page-list-modal-size-normal`, {capture: 'viewport'});
  57. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  58. cy.get('button.close').eq(0).click();
  59. });
  60. cy.screenshot(`${ssPrefix}7-page-list-modal-size-fullscreen`, {capture: 'viewport'});
  61. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  62. cy.get('button.close').eq(1).click();
  63. });
  64. cy.screenshot(`${ssPrefix}8-close-page-list-modal`, {capture: 'viewport'});
  65. });
  66. });
  67. context('Access to timeline', () => {
  68. const ssPrefix = 'access-to-timeline-';
  69. beforeEach(() => {
  70. // login
  71. cy.fixture("user-admin.json").then(user => {
  72. cy.login(user.username, user.password);
  73. });
  74. // collapse sidebar
  75. cy.collapseSidebar(true);
  76. });
  77. it('Timeline list successfully openend', () => {
  78. cy.visit('/');
  79. cy.getByTestid('pageListButton').click({force: true});
  80. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  81. cy.get('.nav-title > li').eq(1).find('a').click();
  82. });
  83. cy.get('#wiki').should('be.visible'); // wait for rendering
  84. cy.screenshot(`${ssPrefix}1-timeline-list`, {capture: 'viewport'});
  85. });
  86. it('Successfully expand and close modal', () => {
  87. cy.visit('/');
  88. cy.getByTestid('pageListButton').click({force: true});
  89. cy.getByTestid('page-accessories-modal').parent().should('have.class','show').within(() => {
  90. cy.get('.nav-title > li').eq(1).find('a').click();
  91. cy.get('button.close').eq(0).click();
  92. });
  93. cy.get('.modal').should('be.visible').scrollTo('top');
  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. });