1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# frozen_string_literal: true
class ExportsControllerTest < ActionDispatch::IntegrationTest
# We need the session to be initialized as a signed in user.
setup { post sessions_url, params: { username: users(:user).username, password: '12341234' } }
test 'csv: works' do
get search_exports_url(0, format: 'csv')
body = @response.body.split("\n")
targets = body.map { |b| b.split(',').first }
assert_equal targets, [things(:thing2).target, things(:thing1).target]
assert_equal 'text/csv', @response.media_type
end
test 'csv: underscore is removed for the title' do
things(:thing1).update!(title: 'This is a _title_ with _many_ underscores')
get search_exports_url(0, format: 'csv')
body = @response.body.split("\n")
assert_equal 'This is a title with many underscores', body.last.split(',')[7]
end
test 'uoc: works' do
get search_exports_url(0, format: 'uoc')
assert_equal @response.body, file_fixture('all.uoc.tex').read
assert_equal 'application/x-tex', @response.media_type
end
test 'uoc: underscore is supported for the title' do
things(:thing1).update!(title: 'This is a _title_ with _many_ underscores')
get search_exports_url(0, format: 'uoc')
assert_equal @response.body, file_fixture('underscores.uoc.tex').read
end
end
|