Skip to content

Commit e4519f3

Browse files
committed
Add experience levels to main user journey
1 parent ae0a5ea commit e4519f3

File tree

1 file changed

+38
-4
lines changed

1 file changed

+38
-4
lines changed

e2e/integration/journey.test.js

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,50 @@ it('can submit a minimal form', () => {
3737
cy.findByRole('combobox', { name: /hear about code your future/i }).select(
3838
initialData.hearAboutCYF
3939
)
40+
setExperience('public speaking', 'None')
41+
setExperience('node', 'Some')
42+
setExperience('react', 'Professional experience')
43+
setExperience('blogging', 'Some')
4044

4145
// submission
4246
cy.findByRole('checkbox', { name: /terms of use/i }).check()
4347
cy.findByRole('checkbox', { name: /contact me/i }).check()
4448
cy.findByRole('button', { name: /submit/i }).click()
4549

4650
cy.wait('@createVolunteer').then(({ request: { body: payload } }) => {
47-
expect(payload).to.deep.eq({
51+
expect(payload).to.deep.include({
4852
...initialData,
4953
agreeToReceiveCommunication: true,
5054
agreeToTOU: true,
51-
guidePeople: [],
5255
cityId: '123abc',
5356
employer: '',
54-
otherSkill: [],
55-
techSkill: [],
5657
tel: `+${initialData.tel}`,
5758
userId: ''
5859
})
60+
expect(payload.guidePeople).to.deep.include({
61+
id: '09u03uifnc',
62+
label: 'Help people learn public speaking',
63+
level: 'None',
64+
name: 'Help people learn public speaking'
65+
})
66+
expect(payload.otherSkill).to.deep.include({
67+
id: '8hyuhe22uhh',
68+
label: 'Blogging / Writing',
69+
level: 'Some',
70+
name: 'Blogging / Writing'
71+
})
72+
expect(payload.techSkill).to.deep.include({
73+
id: '8976tygsbhj3e',
74+
label: 'NodeJS',
75+
level: 'Some',
76+
name: 'NodeJS'
77+
})
78+
expect(payload.techSkill).to.deep.include({
79+
id: '23edcs3h3j3',
80+
label: 'ReactJS',
81+
level: 'Professional experience',
82+
name: 'ReactJS'
83+
})
5984
})
6085
cy.findByText(
6186
`Welcome ${initialData.firstName} ${initialData.lastName}`
@@ -96,3 +121,12 @@ it('requires employee selection', () => {
96121
expect(payload).to.have.property('employer', 'Capgemini')
97122
})
98123
})
124+
125+
const setExperience = (topic, level) => {
126+
cy.findByRole('checkbox', { name: new RegExp(topic, 'i') })
127+
.check()
128+
.parents('.form-table')
129+
.within(() => {
130+
cy.findByRole('radio', { name: new RegExp(level, 'i') }).check()
131+
})
132+
}

0 commit comments

Comments
 (0)