file_presenter_test.rb
2.27 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
require_relative "../test_helper"
class FilePresenterTest < ActiveSupport::TestCase
should 'notify about deprecated method UploadedFile.icon_name' do
profile = fast_create(Profile)
file = UploadedFile.create!(
:profile => profile,
:uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')
)
assert_raise NoMethodError do
UploadedFile.icon_name file
end
ENV.stubs('[]').with('RAILS_ENV').returns('other')
Rails.logger.expects(:warn) # must warn on any other RAILS_ENV
stubs(:puts)
UploadedFile.icon_name file
end
should 'notify about deprecated method UploadedFile#to_html' do
profile = fast_create(Profile)
file = UploadedFile.create!(
:profile => profile,
:uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')
)
assert_raise NoMethodError do
file.to_html
end
ENV.stubs('[]').with('RAILS_ENV').returns('other')
Rails.logger.expects(:warn) # must warn on any other RAILS_ENV
stubs(:puts)
file.to_html
end
should 'return a thumbnail as icon for images ' do
f = UploadedFile.new
f.stubs(:image?).returns(true)
p = FilePresenter.for f
p.expects(:public_filename).with(:icon).returns('/path/to/file.xyz')
assert_equal '/path/to/file.xyz', p.icon_name
end
should 'not crach when accepts? method receives a pure article' do
assert_nothing_raised do
FilePresenter.for Article.new
end
end
should 'not crach when accepts? method receives a non-sense object' do
assert_nothing_raised do
FilePresenter.for nil
end
assert_nothing_raised do
FilePresenter.for({:key => 'value'})
end
assert_nothing_raised do
FilePresenter.for 'a string'
end
end
should 'pass kind_of? to the encapsulated file' do
f = FilePresenter.for(UploadedFile.new)
assert f.kind_of?(UploadedFile)
end
should 'not crash with uploaded_file short description without content_type' do
f = FilePresenter.for(UploadedFile.new)
assert_nothing_raised do
f.short_description
end
end
should 'show unknown type when file doesn\'t have a content_type' do
f = FilePresenter.for(UploadedFile.new)
assert_match /Unknown/, f.short_description
end
end