Commit f77b5589aad63783af9cf3c3aae3333527f6f35b

Authored by AntonioTerceiro
1 parent 2e816a38

ActionItem36: listing tasks in general, plus pending and finished ones


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1482 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/models/profile.rb
@@ -66,6 +66,8 @@ class Profile < ActiveRecord::Base @@ -66,6 +66,8 @@ class Profile < ActiveRecord::Base
66 has_many :consumptions 66 has_many :consumptions
67 has_many :consumed_product_categories, :through => :consumptions, :source => :product_category 67 has_many :consumed_product_categories, :through => :consumptions, :source => :product_category
68 68
  69 + has_many :tasks, :foreign_key => :target_id
  70 +
69 def top_level_articles(reload = false) 71 def top_level_articles(reload = false)
70 if reload 72 if reload
71 @top_level_articles = nil 73 @top_level_articles = nil
test/unit/profile_test.rb
@@ -337,6 +337,34 @@ class ProfileTest < Test::Unit::TestCase @@ -337,6 +337,34 @@ class ProfileTest < Test::Unit::TestCase
337 assert c.members.include?(p), "Profile should add the new member" 337 assert c.members.include?(p), "Profile should add the new member"
338 end 338 end
339 339
  340 + should 'have tasks' do
  341 + c = Profile.create!(:name => 'my test profile', :identifier => 'mytestprofile')
  342 + t1 = c.tasks.build
  343 + t1.save!
  344 +
  345 + t2 = c.tasks.build
  346 + t2.save!
  347 +
  348 + assert_equal [t1, t2]. c.tasks
  349 + end
  350 +
  351 + should 'have pending tasks' do
  352 + c = Profile.create!(:name => 'my test profile', :identifier => 'mytestprofile')
  353 + t1 = c.tasks.build; t1.save!
  354 + t2 = c.tasks.build; t2.save!; t2.finish
  355 + t3 = c.tasks.build; t3.save!
  356 +
  357 + assert_equal [t1, t3], c.tasks.pending
  358 + end
  359 +
  360 + should 'have finished tasks' do
  361 + c = Profile.create!(:name => 'my test profile', :identifier => 'mytestprofile')
  362 + t1 = c.tasks.build; t1.save!
  363 + t2 = c.tasks.build; t2.save!; t2.finish
  364 + t3 = c.tasks.build; t3.save!; t3.finish
  365 +
  366 + assert_equal [t2, t3], c.tasks.finished
  367 + end
340 368
341 private 369 private
342 370