Commit da790fcc28d69e6acd88aee6ea56d01719234cde
1 parent
22243571
Exists in
master
and in
29 other branches
Fixing invalid limit value in some blocks.
Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Showing
6 changed files
with
41 additions
and
7 deletions
Show diff stats
app/models/block.rb
app/models/profile_list_block.rb
1 | class ProfileListBlock < Block | 1 | class ProfileListBlock < Block |
2 | 2 | ||
3 | - attr_accessible :limit, :prioritize_profiles_with_image | 3 | + attr_accessible :prioritize_profiles_with_image |
4 | 4 | ||
5 | settings_items :limit, :type => :integer, :default => 6 | 5 | settings_items :limit, :type => :integer, :default => 6 |
6 | settings_items :prioritize_profiles_with_image, :type => :boolean, :default => true | 6 | settings_items :prioritize_profiles_with_image, :type => :boolean, :default => true |
@@ -18,13 +18,13 @@ class ProfileListBlock < Block | @@ -18,13 +18,13 @@ class ProfileListBlock < Block | ||
18 | result = nil | 18 | result = nil |
19 | visible_profiles = profiles.visible.includes([:image,:domains,:preferred_domain,:environment]) | 19 | visible_profiles = profiles.visible.includes([:image,:domains,:preferred_domain,:environment]) |
20 | if !prioritize_profiles_with_image | 20 | if !prioritize_profiles_with_image |
21 | - result = visible_profiles.all(:limit => limit, :order => 'profiles.updated_at DESC').sort_by{ rand } | ||
22 | - elsif profiles.visible.with_image.count >= limit | ||
23 | - result = visible_profiles.with_image.all(:limit => limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } | 21 | + result = visible_profiles.all(:limit => get_limit, :order => 'profiles.updated_at DESC').sort_by{ rand } |
22 | + elsif profiles.visible.with_image.count >= get_limit | ||
23 | + result = visible_profiles.with_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } | ||
24 | else | 24 | else |
25 | - result = visible_profiles.with_image.sort_by{ rand } + visible_profiles.without_image.all(:limit => limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } | 25 | + result = visible_profiles.with_image.sort_by{ rand } + visible_profiles.without_image.all(:limit => get_limit * 5, :order => 'profiles.updated_at DESC').sort_by{ rand } |
26 | end | 26 | end |
27 | - result.slice(0..limit-1) | 27 | + result.slice(0..get_limit-1) |
28 | end | 28 | end |
29 | 29 | ||
30 | def profile_count | 30 | def profile_count |
app/models/recent_documents_block.rb
@@ -33,7 +33,7 @@ class RecentDocumentsBlock < Block | @@ -33,7 +33,7 @@ class RecentDocumentsBlock < Block | ||
33 | end | 33 | end |
34 | 34 | ||
35 | def docs | 35 | def docs |
36 | - self.limit.nil? ? owner.recent_documents(nil, {}, false) : owner.recent_documents(self.limit, {}, false) | 36 | + self.limit.nil? ? owner.recent_documents(nil, {}, false) : owner.recent_documents(self.get_limit, {}, false) |
37 | end | 37 | end |
38 | 38 | ||
39 | def self.expire_on | 39 | def self.expire_on |
test/unit/profile_list_block_test.rb
@@ -216,4 +216,14 @@ class ProfileListBlockTest < ActiveSupport::TestCase | @@ -216,4 +216,14 @@ class ProfileListBlockTest < ActiveSupport::TestCase | ||
216 | assert ProfileListBlock.new.prioritize_profiles_with_image | 216 | assert ProfileListBlock.new.prioritize_profiles_with_image |
217 | end | 217 | end |
218 | 218 | ||
219 | + should 'return the max value in the range between zero and limit' do | ||
220 | + block = ProfileListBlock.new | ||
221 | + assert_equal 6, block.get_limit | ||
222 | + end | ||
223 | + | ||
224 | + should 'return 0 if limit of the block is negative' do | ||
225 | + block = ProfileListBlock.new | ||
226 | + block.limit = -5 | ||
227 | + assert_equal 0, block.get_limit | ||
228 | + end | ||
219 | end | 229 | end |
test/unit/recent_documents_block_test.rb
@@ -89,4 +89,14 @@ class RecentDocumentsBlockTest < ActiveSupport::TestCase | @@ -89,4 +89,14 @@ class RecentDocumentsBlockTest < ActiveSupport::TestCase | ||
89 | assert_equal 'always', @block.display | 89 | assert_equal 'always', @block.display |
90 | end | 90 | end |
91 | 91 | ||
92 | + should 'return the max value in the range between zero and limit' do | ||
93 | + block = RecentDocumentsBlock.new | ||
94 | + assert_equal 5, block.get_limit | ||
95 | + end | ||
96 | + | ||
97 | + should 'return 0 if limit of the block is negative' do | ||
98 | + block = RecentDocumentsBlock.new | ||
99 | + block.limit = -5 | ||
100 | + assert_equal 0, block.get_limit | ||
101 | + end | ||
92 | end | 102 | end |
test/unit/tags_block_test.rb
@@ -58,4 +58,14 @@ class TagsBlockTest < ActiveSupport::TestCase | @@ -58,4 +58,14 @@ class TagsBlockTest < ActiveSupport::TestCase | ||
58 | assert /\/first-tag".*\/second-tag".*\/third-tag"/m =~ block.content | 58 | assert /\/first-tag".*\/second-tag".*\/third-tag"/m =~ block.content |
59 | end | 59 | end |
60 | 60 | ||
61 | + should 'return the max value in the range between zero and limit' do | ||
62 | + block = TagsBlock.new | ||
63 | + assert_equal 12, block.get_limit | ||
64 | + end | ||
65 | + | ||
66 | + should '' do | ||
67 | + block = TagsBlock.new | ||
68 | + block.limit = -5 | ||
69 | + assert_equal 0, block.get_limit | ||
70 | + end | ||
61 | end | 71 | end |