21-basic-features-for-guest--access-to-page.cy.ts 2.7 KB

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