Skip to content

Commit 43768fa

Browse files
committed
move with_broken_scrapers tests to model test
1 parent 1824358 commit 43768fa

2 files changed

Lines changed: 68 additions & 68 deletions

File tree

test/mailers/curation_mailer_test.rb

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -250,71 +250,3 @@ class CurationMailerTest < ActionMailer::TestCase
250250
end
251251
end
252252
end
253-
254-
class ContentProvidersWithBrokenScrapersTest < ActionMailer::TestCase
255-
setup do
256-
@cutoff = 1.week.ago
257-
@user = users(:regular_user)
258-
@provider = ContentProvider.create!(title: 'Goblet', user: @user, url: 'http://www.google.com#1')
259-
@provider_2 = ContentProvider.create!(title: 'Two', user: @user, url: 'http://www.google.com#1')
260-
@params = {title: 'my_title', description: 'my_description', url: 'http://www.google.com#1', user: @user}
261-
end
262-
263-
test "excludes providers with no events and no materials" do
264-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
265-
assert_empty result
266-
end
267-
268-
test "includes provider only with events all before cutoff" do
269-
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
270-
@provider.events.create!(@params.merge({updated_at: 3.weeks.ago}))
271-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
272-
assert_includes result, @provider
273-
end
274-
275-
test "excludes provider with any event after cutoff" do
276-
@provider.events.create!(@params.merge({updated_at: 2.days.ago}))
277-
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
278-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
279-
refute_includes result, @provider
280-
end
281-
282-
test "includes provider only with materials all before cutoff" do
283-
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
284-
@provider.materials.create!(@params.merge({updated_at: 3.weeks.ago}))
285-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
286-
assert_includes result, @provider
287-
end
288-
289-
test "excludes provider with any material after cutoff" do
290-
@provider.materials.create!(@params.merge({updated_at: 2.days.ago}))
291-
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
292-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
293-
refute_includes result, @provider
294-
end
295-
296-
test "includes provider with both events and materials all before cutoff" do
297-
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
298-
@provider.events.create!(@params.merge({updated_at: 3.weeks.ago}))
299-
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
300-
@provider.materials.create!(@params.merge({updated_at: 3.weeks.ago}))
301-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
302-
assert_includes result, @provider
303-
end
304-
305-
test "excludes provider with mixed cases where one event or material is too new" do
306-
@provider.events.create!(@params.merge({updated_at: 2.days.ago}))
307-
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
308-
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
309-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
310-
refute_includes result, @provider
311-
end
312-
313-
test "filters correctly by title" do
314-
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
315-
@provider_2.events.create!(@params.merge({updated_at: 2.weeks.ago}))
316-
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
317-
assert_includes result, @provider
318-
refute_includes result, @provider_b
319-
end
320-
end

test/models/content_provider_test.rb

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,71 @@ class ContentProviderTest < ActiveSupport::TestCase
130130
end
131131
end
132132
end
133+
134+
class ContentProvidersWithBrokenScrapersTest < ActiveSupport::TestCase
135+
setup do
136+
@cutoff = 1.week.ago
137+
@user = users(:regular_user)
138+
@provider = ContentProvider.create!(title: 'Goblet', user: @user, url: 'http://www.google.com#1')
139+
@provider_2 = ContentProvider.create!(title: 'Two', user: @user, url: 'http://www.google.com#1')
140+
@params = {title: 'my_title', description: 'my_description', url: 'http://www.google.com#1', user: @user}
141+
end
142+
143+
test "excludes providers with no events and no materials" do
144+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
145+
assert_empty result
146+
end
147+
148+
test "includes provider only with events all before cutoff" do
149+
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
150+
@provider.events.create!(@params.merge({updated_at: 3.weeks.ago}))
151+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
152+
assert_includes result, @provider
153+
end
154+
155+
test "excludes provider with any event after cutoff" do
156+
@provider.events.create!(@params.merge({updated_at: 2.days.ago}))
157+
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
158+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
159+
refute_includes result, @provider
160+
end
161+
162+
test "includes provider only with materials all before cutoff" do
163+
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
164+
@provider.materials.create!(@params.merge({updated_at: 3.weeks.ago}))
165+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
166+
assert_includes result, @provider
167+
end
168+
169+
test "excludes provider with any material after cutoff" do
170+
@provider.materials.create!(@params.merge({updated_at: 2.days.ago}))
171+
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
172+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
173+
refute_includes result, @provider
174+
end
175+
176+
test "includes provider with both events and materials all before cutoff" do
177+
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
178+
@provider.events.create!(@params.merge({updated_at: 3.weeks.ago}))
179+
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
180+
@provider.materials.create!(@params.merge({updated_at: 3.weeks.ago}))
181+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
182+
assert_includes result, @provider
183+
end
184+
185+
test "excludes provider with mixed cases where one event or material is too new" do
186+
@provider.events.create!(@params.merge({updated_at: 2.days.ago}))
187+
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
188+
@provider.materials.create!(@params.merge({updated_at: 2.weeks.ago}))
189+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
190+
refute_includes result, @provider
191+
end
192+
193+
test "filters correctly by title" do
194+
@provider.events.create!(@params.merge({updated_at: 2.weeks.ago}))
195+
@provider_2.events.create!(@params.merge({updated_at: 2.weeks.ago}))
196+
result = ContentProvider.with_broken_scrapers(["Goblet"], @cutoff)
197+
assert_includes result, @provider
198+
refute_includes result, @provider_2
199+
end
200+
end

0 commit comments

Comments
 (0)