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

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