diff --git a/frontend/rabbi_gerzi/cypress/e2e/media.cy.ts b/frontend/rabbi_gerzi/cypress/e2e/media.cy.ts index 2bbb833..cbbcdc8 100644 --- a/frontend/rabbi_gerzi/cypress/e2e/media.cy.ts +++ b/frontend/rabbi_gerzi/cypress/e2e/media.cy.ts @@ -188,6 +188,56 @@ describe('media page sets', () => { cy.get('[data-cy="media-set-delete"]').should('not.exist') }) + it('reorders sets and persists the public order', () => { + cy.resetDb() + loginAsAdmin() + cy.visit('/media') + cy.intercept('PUT', /\/api\/sets\/order$/).as('reorderSets') + + cy.contains('[data-cy="media-set-card"]', 'Daily Learning') + .within(() => { + cy.get('[data-cy="media-set-move-up"]').click() + }) + cy.wait('@reorderSets') + + cy.get('[data-cy="media-set-order-status"]') + .should('be.visible') + .and('contain.text', 'Set order saved') + cy.get('[data-cy="media-set-card"]') + .eq(0) + .should('contain.text', 'Daily Learning') + .within(() => { + cy.get('[data-cy="media-set-move-up"]').should('be.disabled') + }) + cy.get('[data-cy="media-set-card"]') + .eq(1) + .should('contain.text', 'Baderech HaAvodah') + .within(() => { + cy.get('[data-cy="media-set-move-down"]').should('be.disabled') + }) + + cy.reload() + cy.get('[data-cy="media-set-card"]') + .eq(0) + .should('contain.text', 'Daily Learning') + cy.get('[data-cy="media-set-card"]') + .eq(1) + .should('contain.text', 'Baderech HaAvodah') + + cy.clearCookie('auth_token') + cy.reload() + cy.get('[data-cy="media-set-card"]') + .eq(0) + .should('contain.text', 'Daily Learning') + cy.get('[data-cy="media-set-card"]') + .eq(1) + .should('contain.text', 'Baderech HaAvodah') + cy.get('[data-cy="media-set-move-up"]').should('not.exist') + cy.get('[data-cy="media-set-move-down"]').should('not.exist') + + cy.resetDb() + }) + it('creates a set from the logged-in media page modal', () => { loginAsAdmin() cy.visit('/media')