21-basic-features-for-guest--access-to-page.spec.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. context('Access to page by guest', () => {
  2. const ssPrefix = 'access-to-page-by-guest-';
  3. it('/Sandbox is successfully loaded', () => {
  4. cy.visit('/Sandbox');
  5. cy.waitUntilSkeletonDisappear();
  6. cy.collapseSidebar(true, true);
  7. cy.screenshot(`${ssPrefix}-sandbox`);
  8. });
  9. // TODO: https://redmine.weseek.co.jp/issues/109939
  10. it('/Sandbox with anchor hash is successfully loaded', () => {
  11. cy.visit('/Sandbox#Headers');
  12. cy.waitUntilSkeletonDisappear();
  13. // hide fab
  14. cy.getByTestid('grw-fab-container').invoke('attr', 'style', 'display: none');
  15. // remove animation for screenshot
  16. // remove 'blink' class because ::after element cannot be operated
  17. // https://stackoverflow.com/questions/5041494/selecting-and-manipulating-css-pseudo-elements-such-as-before-and-after-usin/21709814#21709814
  18. cy.get('#mdcont-headers').invoke('removeClass', 'blink');
  19. cy.screenshot(`${ssPrefix}-sandbox-headers`);
  20. });
  21. it('/Sandbox/Math is successfully loaded', () => {
  22. cy.visit('/Sandbox/Math');
  23. cy.waitUntilSkeletonDisappear();
  24. // for check download toc data
  25. // https://redmine.weseek.co.jp/issues/111384
  26. // cy.get('.toc-link').should('be.visible');
  27. cy.get('.math').should('be.visible');
  28. cy.collapseSidebar(true);
  29. cy.screenshot(`${ssPrefix}-sandbox-math`);
  30. });
  31. it('/Sandbox with edit is successfully loaded', () => {
  32. cy.visit('/Sandbox#edit');
  33. cy.waitUntilSkeletonDisappear();
  34. cy.collapseSidebar(true);
  35. cy.screenshot(`${ssPrefix}-sandbox-with-edit-hash`);
  36. })
  37. });
  38. context('Access to /me page', () => {
  39. const ssPrefix = 'access-to-me-page-by-guest-';
  40. it('/me should be redirected to /login', () => {
  41. cy.visit('/me');
  42. cy.getByTestid('login-form').should('be.visible');
  43. cy.screenshot(`${ssPrefix}-me`);
  44. });
  45. });
  46. context('Access to special pages by guest', () => {
  47. const ssPrefix = 'access-to-special-pages-by-guest-';
  48. it('/trash is successfully loaded', () => {
  49. cy.visit('/trash', { });
  50. cy.getByTestid('trash-page-list').should('be.visible');
  51. cy.collapseSidebar(true);
  52. cy.screenshot(`${ssPrefix}-trash`);
  53. });
  54. it('/tags is successfully loaded', () => {
  55. cy.visit('/tags');
  56. // open sidebar
  57. cy.collapseSidebar(false);
  58. // select tags
  59. cy.getByTestid('grw-sidebar-nav-primary-tags').click();
  60. cy.getByTestid('grw-sidebar-content-tags').should('be.visible');
  61. cy.getByTestid('grw-tags-list').should('be.visible');
  62. cy.getByTestid('grw-tags-list').contains('You have no tag, You can set tags on pages');
  63. cy.getByTestid('tags-page').should('be.visible');
  64. cy.screenshot(`${ssPrefix}-tags`);
  65. });
  66. });