Commit eecc8ff382ffc8e13e1b48d3891197c901effc04

Authored by Luciano Prestes
1 parent 93137fa5
Exists in master

Refactoring the activities hash to general profiles

Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com>
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
lib/ext/person.rb
@@ -11,8 +11,6 @@ class Person @@ -11,8 +11,6 @@ class Person
11 11
12 attrs = softwares_attrs(attrs) 12 attrs = softwares_attrs(attrs)
13 13
14 - attrs = activities_attrs(attrs)  
15 -  
16 attrs 14 attrs
17 end 15 end
18 16
@@ -49,21 +47,6 @@ class Person @@ -49,21 +47,6 @@ class Person
49 attrs 47 attrs
50 end 48 end
51 49
52 - def activities_attrs(attrs)  
53 - attrs['activities'] = []  
54 -  
55 - ids = self.activities.collect { |a| a.id }  
56 -  
57 - ActionTracker::Record.find(ids).collect { |a|  
58 - attrs['activities'] << {  
59 - "verb" => a.verb,  
60 - "params" => a.params  
61 - }  
62 - }  
63 -  
64 - attrs  
65 - end  
66 -  
67 private 50 private
68 51
69 def profile_attrs(profile) 52 def profile_attrs(profile)
lib/ext/profile.rb
@@ -18,6 +18,24 @@ class Profile @@ -18,6 +18,24 @@ class Profile
18 attrs['articles'] << article.attr_to_hash 18 attrs['articles'] << article.attr_to_hash
19 end 19 end
20 20
  21 + attrs['activities-count'] = self.activities.count
  22 + attrs['activities'] = activities_attrs
  23 +
  24 + attrs
  25 + end
  26 +
  27 + def activities_attrs
  28 + attrs = []
  29 +
  30 + ids = self.activities.collect { |activity| activity.id }
  31 +
  32 + ActionTracker::Record.find(ids).collect { |activity|
  33 + attrs << {
  34 + 'verb' => activity.verb,
  35 + 'params' => activity.params
  36 + }
  37 + }
  38 +
21 attrs 39 attrs
22 end 40 end
23 end 41 end
test/functional/colab_integration_plugin_controller_test.rb
@@ -45,42 +45,14 @@ class ColabIntegrationPluginControllerTest &lt; ActionController::TestCase @@ -45,42 +45,14 @@ class ColabIntegrationPluginControllerTest &lt; ActionController::TestCase
45 assert_equal persons_with_article.count, 1 45 assert_equal persons_with_article.count, 1
46 end 46 end
47 47
48 - #TODO - FIXME  
49 - should "return a json with activities of the user" do  
50 - create_article_by_post @john, "The winter is coming", "help"  
51 - create_article_by_post @john, "The coming is winter", "help"  
52 - create_article_by_post @john, "winter is", "help"  
53 -  
54 - puts "="*80, @john.activities_attrs({}), "="*80  
55 -  
56 - assert_equal 1, 1  
57 - end  
58 -  
59 - private  
60 -  
61 - def create_article_by_post profile, article_name, article_body  
62 - @controller = CmsController.new  
63 -  
64 - post(  
65 - "new",  
66 - :article => {  
67 - :name => article_name,  
68 - :parent_id => "",  
69 - :license_id => "",  
70 - :abstract => "",  
71 - :body =>"<p>#{article_body}</p> ",  
72 - :category_ids =>[""],  
73 - :tag_list => "",  
74 - :published => "true",  
75 - :show_to_followers =>"0",  
76 - :accept_comments => "1",  
77 - :notify_comments => "1",  
78 - :moderate_comments =>"0",  
79 - :display_hits => "1",  
80 - :display_versions => "0"  
81 - },  
82 - :commit => "Save",  
83 - :profile => profile  
84 - ) 48 + should "return a hash with activities of the user" do
  49 + user = fast_create(Person, :name => "User")
  50 + fast_create(Community, :name => "User Community").add_member user
  51 + fast_create(Community, :name => "User Community 2").add_member user
  52 +
  53 + assert_equal 2, user.activities_attrs.count
  54 + assert user.activities_attrs.first.has_key?("verb")
  55 + assert user.activities_attrs.first.has_key?("params")
  56 + assert user.activities_attrs.first["verb"] == "join_community"
85 end 57 end
86 end 58 end