Skip to content

Commit 04b109f

Browse files
authored
Merge pull request #2077 from biggianteye/sponsor-filter-tests
Add tests for filtering by sponsor
2 parents 75ebf83 + f6d7e05 commit 04b109f

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

spec/features/admin/sponsor_spec.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,38 @@
3131
expect(page.all(:css, 'tbody tr', count: 1))
3232
end
3333

34+
scenario 'can filter by sponsor' do
35+
# Single workshop
36+
Fabricate(:workshop_sponsor, sponsor: sponsor)
37+
# Multiple works with the same sponsor and chapter
38+
chapter = Fabricate(:chapter)
39+
5.times do
40+
Fabricate(:workshop_sponsor, sponsor: sponsor2, workshop: Fabricate(:workshop_no_sponsor, chapter: chapter))
41+
end
42+
43+
visit admin_sponsors_path
44+
45+
expect(page).to have_content(sponsor.name)
46+
expect(page).to have_content(sponsor2.name)
47+
48+
expect(page.all(:css, 'tbody tr', count: 2))
49+
50+
# Make sure both sponsors can be filtered by
51+
[sponsor.name, sponsor2.name].each do |name|
52+
fill_in 'sponsors_search[name]', with: name
53+
click_on 'Filter'
54+
55+
expect(page.all(:css, 'tbody tr', count: 1))
56+
end
57+
58+
# Invalid sponsor name should return no results
59+
fill_in 'sponsors_search[name]', with: 'this-sponsor-does-not-exist'
60+
click_on 'Filter'
61+
62+
expect(page.all(:css, 'tbody tr', count: 0))
63+
expect(page).to have_content('No sponsors found')
64+
end
65+
3466
scenario 'can clear filtering form' do
3567
sponsored_workshop = Fabricate(:workshop_sponsor, sponsor: sponsor).workshop
3668
hosted_workshop = Fabricate(:workshop_sponsor, sponsor: sponsor2, host: true).workshop

0 commit comments

Comments
 (0)