Skip to content

Commit 71e8efa

Browse files
committed
add test for auto parsing
1 parent c10c850 commit 71e8efa

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

test/unit/ingestors/ingestor_test.rb

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,41 @@ class IngestorTest < ActiveSupport::TestCase
8989
assert_equal(event.language, 'de')
9090
end
9191

92+
['enabled', 'disabled'].each do |enabled|
93+
test "auto parse if #{enabled}" do
94+
if enabled == 'enabled'
95+
auto_parse_vars = ['target_audience', 'keywords']
96+
else
97+
auto_parse_vars = []
98+
end
99+
user = users(:scraper_user)
100+
provider = content_providers(:portal_provider)
101+
@source = Source.create!(url: 'https://somewhere.com/stuff', method: 'bioschemas',
102+
enabled: true, approval_status: 'approved',
103+
content_provider: provider, user: users(:admin))
104+
ingestor = Ingestors::Ingestor.new
105+
new_event = OpenStruct.new(url: 'https://some-course.net',
106+
title: 'Yet another course',
107+
start: '2021-01-31 13:00:00',
108+
end:'2021-01-31 14:00:00',
109+
description: 'professor, tool criticism and software citation in text')
110+
with_settings({ feature: { auto_parse_vars: auto_parse_vars } }) do
111+
ingestor.add_event(new_event)
112+
assert_difference('provider.events.count', 1) do
113+
ingestor.write(user, provider, source: @source)
114+
end
115+
end
116+
event = Event.find_by(title: 'Yet another course')
117+
if enabled == 'enabled'
118+
assert_equal(['researchers'], event.target_audience)
119+
assert_equal(['Research software management', 'Data infrastructure'], event.keywords)
120+
else
121+
assert_equal([], event.target_audience)
122+
assert_equal([], event.keywords)
123+
end
124+
end
125+
end
126+
92127
test 'does not set event language when language and source default language missing' do
93128
user = users(:scraper_user)
94129
provider = content_providers(:portal_provider)

0 commit comments

Comments
 (0)