test submit creates plan and closes modal

This commit is contained in:
Yisroel Baum 2026-04-24 10:24:24 +03:00
parent e7d30d364a
commit e1b02f0ba9
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -45,4 +45,54 @@ describe('Create plan modal on the home page', () => {
cy.get('#create-plan-modal button.cancel-plan').click()
cy.get('#create-plan-modal').should('not.be.visible')
})
it('submits plan details to /api/plans', () => {
cy.intercept('POST', '/api/plans').as('createPlan')
cy.get('#texts-list li').first()
.find('button.create-plan').click()
cy.get('#create-plan-modal input.plan-name')
.type('My reading plan')
cy.get('#create-plan-modal input.plan-date-start')
.type('2025-01-01')
cy.get('#create-plan-modal input.plan-date-end')
.type('2025-01-31')
cy.get('#create-plan-modal button.save-plan').click()
cy.wait('@createPlan').then((createPlanRequest) => {
expect(createPlanRequest.response.statusCode).to.eq(201)
expect(createPlanRequest.request.body).to.deep.equal({
userId: 0,
textId: 0,
name: 'My reading plan',
dateStart: '2025-01-01',
dateEnd: '2025-01-31',
})
})
})
it('closes the modal after successful submit', () => {
cy.intercept('POST', '/api/plans').as('createPlan')
cy.get('#texts-list li').first()
.find('button.create-plan').click()
cy.get('#create-plan-modal input.plan-name')
.type('Another plan')
cy.get('#create-plan-modal input.plan-date-start')
.type('2025-02-01')
cy.get('#create-plan-modal input.plan-date-end')
.type('2025-02-28')
cy.get('#create-plan-modal button.save-plan').click()
cy.wait('@createPlan')
cy.get('#create-plan-modal').should('not.be.visible')
})
it('does not submit if name is empty', () => {
cy.intercept('POST', '/api/plans').as('createPlan')
cy.get('#texts-list li').first()
.find('button.create-plan').click()
cy.get('#create-plan-modal input.plan-date-start')
.type('2025-01-01')
cy.get('#create-plan-modal input.plan-date-end')
.type('2025-01-31')
cy.get('#create-plan-modal button.save-plan').click()
cy.get('@createPlan.all').should('have.length', 0)
})
})