Commit 7712c7369d0d3a55458548641dd97919b9a4b03d
1 parent
892e18f7
Exists in
master
and in
23 other branches
ActionItem153: adding recent documents support for environments
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1281 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
29 additions
and
4 deletions
Show diff stats
app/controllers/admin/environment_design_controller.rb
| 1 | class EnvironmentDesignController < BoxOrganizerController | 1 | class EnvironmentDesignController < BoxOrganizerController |
| 2 | 2 | ||
| 3 | def available_blocks | 3 | def available_blocks |
| 4 | - @available_blocks ||= [ LoginBlock ] | 4 | + @available_blocks ||= [ LoginBlock, EnvironmentStatisticsBlock, RecentDocumentsBlock ] |
| 5 | end | 5 | end |
| 6 | 6 | ||
| 7 | end | 7 | end |
app/models/environment.rb
| @@ -180,4 +180,9 @@ class Environment < ActiveRecord::Base | @@ -180,4 +180,9 @@ class Environment < ActiveRecord::Base | ||
| 180 | self.name || '?' | 180 | self.name || '?' |
| 181 | end | 181 | end |
| 182 | 182 | ||
| 183 | + has_many :articles, :through => :profiles | ||
| 184 | + def recent_documents(limit = 10) | ||
| 185 | + self.articles.recent(limit) | ||
| 186 | + end | ||
| 187 | + | ||
| 183 | end | 188 | end |
test/functional/environment_design_controller_test.rb
| @@ -11,8 +11,7 @@ class EnvironmentDesignControllerTest < Test::Unit::TestCase | @@ -11,8 +11,7 @@ class EnvironmentDesignControllerTest < Test::Unit::TestCase | ||
| 11 | @response = ActionController::TestResponse.new | 11 | @response = ActionController::TestResponse.new |
| 12 | end | 12 | end |
| 13 | 13 | ||
| 14 | - # Replace this with your real tests. | ||
| 15 | - def test_truth | ||
| 16 | - assert true | 14 | + should 'have tests' do |
| 15 | + flunk 'add some real test here' | ||
| 17 | end | 16 | end |
| 18 | end | 17 | end |
test/unit/environment_test.rb
| @@ -219,4 +219,25 @@ class EnvironmentTest < Test::Unit::TestCase | @@ -219,4 +219,25 @@ class EnvironmentTest < Test::Unit::TestCase | ||
| 219 | assert(environment.blocks.any? { |block| block.kind_of? MainBlock }) | 219 | assert(environment.blocks.any? { |block| block.kind_of? MainBlock }) |
| 220 | end | 220 | end |
| 221 | 221 | ||
| 222 | + should 'provide recent_documents' do | ||
| 223 | + environment = Environment.create(:name => 'a test environment') | ||
| 224 | + | ||
| 225 | + # p1 creates one article | ||
| 226 | + p1 = environment.profiles.build(:identifier => 'testprofile1', :name => 'test profile 1') | ||
| 227 | + p1.save! | ||
| 228 | + doc1 = p1.articles.build(:name => 'text 1'); doc1.save! | ||
| 229 | + | ||
| 230 | + # p2 creates two articles | ||
| 231 | + p2 = environment.profiles.build(:identifier => 'testprofile2', :name => 'test profile 2') | ||
| 232 | + p2.save! | ||
| 233 | + doc2 = p2.articles.build(:name => 'text 2'); doc2.save! | ||
| 234 | + doc3 = p2.articles.build(:name => 'text 3'); doc3.save! | ||
| 235 | + | ||
| 236 | + # p1 creates another article | ||
| 237 | + doc4 = p1.articles.build(:name => 'text 4'); doc4.save! | ||
| 238 | + | ||
| 239 | + assert_equivalent [doc1,doc2,doc3,doc4], environment.recent_documents | ||
| 240 | + assert_equivalent [doc1,doc2,doc3], environment.recent_documents(3) | ||
| 241 | + end | ||
| 242 | + | ||
| 222 | end | 243 | end |