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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 // disable fab for sticky-events warning
  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. cy.get('.toc-link').should('be.visible');
  26. cy.get('.math').should('be.visible');
  27. cy.collapseSidebar(true);
  28. cy.screenshot(`${ssPrefix}-sandbox-math`);
  29. });
  30. it('/Sandbox with edit is successfully loaded', () => {
  31. cy.visit('/Sandbox#edit');
  32. cy.waitUntilSkeletonDisappear();
  33. cy.collapseSidebar(true);
  34. cy.screenshot(`${ssPrefix}-sandbox-with-edit-hash`);
  35. })
  36. });
  37. context('Access to /me page', () => {
  38. const ssPrefix = 'access-to-me-page-by-guest-';
  39. it('/me should be redirected to /login', () => {
  40. cy.visit('/me');
  41. cy.getByTestid('login-form').should('be.visible');
  42. cy.screenshot(`${ssPrefix}-me`);
  43. });
  44. });
  45. context('Access to special pages by guest', () => {
  46. const ssPrefix = 'access-to-special-pages-by-guest-';
  47. it('/trash is successfully loaded', () => {
  48. cy.visit('/trash', { });
  49. cy.getByTestid('trash-page-list').should('be.visible');
  50. cy.collapseSidebar(true);
  51. cy.screenshot(`${ssPrefix}-trash`);
  52. });
  53. it('/tags is successfully loaded', () => {
  54. cy.visit('/tags');
  55. // open sidebar
  56. cy.collapseSidebar(false);
  57. // select tags
  58. cy.getByTestid('grw-sidebar-nav-primary-tags').click();
  59. cy.getByTestid('grw-sidebar-content-tags').should('be.visible');
  60. cy.getByTestid('grw-tags-list').should('be.visible');
  61. cy.getByTestid('grw-tags-list').contains('You have no tag, You can set tags on pages');
  62. cy.getByTestid('tags-page').should('be.visible');
  63. cy.screenshot(`${ssPrefix}-tags`);
  64. });
  65. });