Commit cb62ddad16c16258029645b2c76fb413e07f0c19
1 parent
200ff2b0
Exists in
master
and in
26 other branches
HighlightsBlock: fix test for randomness
Obviously a test for randomness that is not well designed will fail ... randomly!
Showing
2 changed files
with
16 additions
and
27 deletions
Show diff stats
app/models/highlights_block.rb
... | ... | @@ -26,8 +26,16 @@ class HighlightsBlock < Block |
26 | 26 | end |
27 | 27 | |
28 | 28 | def featured_images |
29 | - block_images = images.select{|i| !i[:image_src].nil? }.sort { |x, y| x[:position] <=> y[:position] } | |
30 | - shuffle ? block_images.shuffle : block_images | |
29 | + images = get_images | |
30 | + shuffle ? images.shuffle : images | |
31 | + end | |
32 | + | |
33 | + def get_images | |
34 | + images.select do |i| | |
35 | + !i[:image_src].nil? | |
36 | + end.sort do |x, y| | |
37 | + x[:position] <=> y[:position] | |
38 | + end | |
31 | 39 | end |
32 | 40 | |
33 | 41 | def content(args={}) | ... | ... |
test/unit/highlights_block_test.rb
... | ... | @@ -109,33 +109,14 @@ class HighlightsBlockTest < ActiveSupport::TestCase |
109 | 109 | end |
110 | 110 | |
111 | 111 | should 'list images randomically' do |
112 | - f1 = mock() | |
113 | - f1.expects(:public_filename).returns('address') | |
114 | - UploadedFile.expects(:find).with(1).returns(f1) | |
115 | - f2 = mock() | |
116 | - f2.expects(:public_filename).returns('address') | |
117 | - UploadedFile.expects(:find).with(2).returns(f2) | |
118 | - f3 = mock() | |
119 | - f3.expects(:public_filename).returns('address') | |
120 | - UploadedFile.expects(:find).with(3).returns(f3) | |
121 | - f4 = mock() | |
122 | - f4.expects(:public_filename).returns('address') | |
123 | - UploadedFile.expects(:find).with(4).returns(f4) | |
124 | - f5 = mock() | |
125 | - f5.expects(:public_filename).returns('address') | |
126 | - UploadedFile.expects(:find).with(5).returns(f5) | |
127 | 112 | block = HighlightsBlock.new |
128 | - i1 = {:image_id => 1, :address => '/address', :position => 3, :title => 'address'} | |
129 | - i2 = {:image_id => 2, :address => '/address', :position => 1, :title => 'address'} | |
130 | - i3 = {:image_id => 3, :address => '/address', :position => 2, :title => 'address'} | |
131 | - i4 = {:image_id => 4, :address => '/address', :position => 5, :title => 'address'} | |
132 | - i5 = {:image_id => 5, :address => '/address', :position => 4, :title => 'address'} | |
133 | - block.images = [i1,i2,i3,i4,i5] | |
134 | 113 | block.shuffle = true |
135 | - block.save! | |
136 | - block.reload | |
137 | - assert_equal [i1,i2,i3,i4,i5], block.images | |
138 | - assert_not_equal [i2,i3,i1,i4,i5], block.featured_images | |
114 | + | |
115 | + images = [] | |
116 | + block.expects(:get_images).returns(images) | |
117 | + images.expects(:shuffle).returns(images) | |
118 | + | |
119 | + block.featured_images | |
139 | 120 | end |
140 | 121 | |
141 | 122 | [Environment, Profile].each do |klass| | ... | ... |