Skip to content

Commit 1d1f8cb

Browse files
committed
add system tests for updating dietary restrictions
add system tests to cover a member updating their details to add/remove dietary restrictions.
1 parent d0b41b2 commit 1d1f8cb

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
RSpec.feature 'Update your details', type: :feature do
2+
before do
3+
mock_github_auth
4+
end
5+
6+
scenario 'A member adds a dietary restriction' do
7+
member = Fabricate(:member)
8+
login member
9+
10+
visit edit_member_path
11+
check 'Vegetarian'
12+
click_on 'Save'
13+
14+
expect(page).to have_content('Your details have been updated.')
15+
expect(page).to have_selector(".badge", text: "Vegetarian")
16+
end
17+
18+
scenario 'A member adds a custom dietary restriction' do
19+
member = Fabricate(:member)
20+
login member
21+
22+
visit edit_member_path
23+
check 'Other'
24+
fill_in 'Other dietary restrictions', with: 'peanut allergy'
25+
click_on 'Save'
26+
27+
expect(page).to have_content('Your details have been updated.')
28+
expect(page).to have_selector(".badge", text: "Peanut allergye")
29+
member.reload
30+
expect(member.dietary_restrictions).to eq(['other'])
31+
expect(member.other_dietary_restrictions).to eq('peanut allergy')
32+
end
33+
34+
scenario 'A member removes a dietary restriction' do
35+
member = Fabricate(:member, dietary_restrictions: ['vegetarian'])
36+
login member
37+
38+
visit edit_member_path
39+
uncheck 'Vegetarian'
40+
click_on 'Save'
41+
42+
expect(page).to have_content('Your details have been updated.')
43+
member.reload
44+
expect(member.dietary_restrictions).to be_empty
45+
end
46+
end

0 commit comments

Comments
 (0)