70 lines
2.1 KiB
JavaScript
70 lines
2.1 KiB
JavaScript
describe('Scoring Display', () => {
|
|
beforeEach(() => {
|
|
cy.resetDatabase()
|
|
cy.login()
|
|
})
|
|
|
|
it('shows No Go result when fewer than 5 yes answers', () => {
|
|
cy.get('[data-cy="start-screening"]').click()
|
|
|
|
// Answer 4 yes, 6 no
|
|
for (let i = 1; i <= 4; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="yes"]').check({ force: true })
|
|
})
|
|
}
|
|
for (let i = 5; i <= 10; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="no"]').check({ force: true })
|
|
})
|
|
}
|
|
cy.get('[data-cy="submit-screening"]').click()
|
|
|
|
// Should fail
|
|
cy.get('[data-cy="result-failed"]').should('exist')
|
|
cy.get('[data-cy="screening-score"]').should('contain', '4')
|
|
cy.get('[data-cy="category-select"]').should('not.exist')
|
|
})
|
|
|
|
it('passes at boundary with exactly 5 yes answers', () => {
|
|
cy.get('[data-cy="start-screening"]').click()
|
|
|
|
// Answer 5 yes, 5 no
|
|
for (let i = 1; i <= 5; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="yes"]').check({ force: true })
|
|
})
|
|
}
|
|
for (let i = 6; i <= 10; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="no"]').check({ force: true })
|
|
})
|
|
}
|
|
cy.get('[data-cy="submit-screening"]').click()
|
|
|
|
// Should pass
|
|
cy.get('[data-cy="result-passed"]').should('exist')
|
|
cy.get('[data-cy="screening-score"]').should('contain', '5')
|
|
cy.get('[data-cy="category-select"]').should('exist')
|
|
})
|
|
|
|
it('displays the score correctly', () => {
|
|
cy.get('[data-cy="start-screening"]').click()
|
|
|
|
// Answer 7 yes, 3 no
|
|
for (let i = 1; i <= 7; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="yes"]').check({ force: true })
|
|
})
|
|
}
|
|
for (let i = 8; i <= 10; i++) {
|
|
cy.get(`[data-cy="screening-answer-${i}"]`).within(() => {
|
|
cy.get('[data-cy="no"]').check({ force: true })
|
|
})
|
|
}
|
|
cy.get('[data-cy="submit-screening"]').click()
|
|
|
|
cy.get('[data-cy="screening-score"]').should('contain', '7')
|
|
})
|
|
})
|