Commit 93137fa5eba1c2b57c39280ffce52efac6c2d121
1 parent
9a9aee47
Exists in
master
Get activities as attributes
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
2 changed files
with
59 additions
and
2 deletions
Show diff stats
lib/ext/person.rb
| @@ -11,6 +11,8 @@ class Person | @@ -11,6 +11,8 @@ class Person | ||
| 11 | 11 | ||
| 12 | attrs = softwares_attrs(attrs) | 12 | attrs = softwares_attrs(attrs) |
| 13 | 13 | ||
| 14 | + attrs = activities_attrs(attrs) | ||
| 15 | + | ||
| 14 | attrs | 16 | attrs |
| 15 | end | 17 | end |
| 16 | 18 | ||
| @@ -25,7 +27,7 @@ class Person | @@ -25,7 +27,7 @@ class Person | ||
| 25 | 27 | ||
| 26 | def commuinities_attrs(attrs) | 28 | def commuinities_attrs(attrs) |
| 27 | attrs['communities-count'] = self.respond_to?("softwares") ? | 29 | attrs['communities-count'] = self.respond_to?("softwares") ? |
| 28 | - self.communities.count - self.softwares.count : | 30 | + self.communities.count - self.softwares.count : |
| 29 | self.communities.count | 31 | self.communities.count |
| 30 | attrs['communities'] = [] | 32 | attrs['communities'] = [] |
| 31 | self.communities.each do |community| | 33 | self.communities.each do |community| |
| @@ -47,7 +49,22 @@ class Person | @@ -47,7 +49,22 @@ class Person | ||
| 47 | attrs | 49 | attrs |
| 48 | end | 50 | end |
| 49 | 51 | ||
| 50 | - private | 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 | ||
| 51 | 68 | ||
| 52 | def profile_attrs(profile) | 69 | def profile_attrs(profile) |
| 53 | profile = { | 70 | profile = { |
test/functional/colab_integration_plugin_controller_test.rb
| @@ -6,6 +6,7 @@ class ColabIntegrationPluginController; def rescue_action(e) raise e end; end | @@ -6,6 +6,7 @@ class ColabIntegrationPluginController; def rescue_action(e) raise e end; end | ||
| 6 | class ColabIntegrationPluginControllerTest < ActionController::TestCase | 6 | class ColabIntegrationPluginControllerTest < ActionController::TestCase |
| 7 | 7 | ||
| 8 | def setup | 8 | def setup |
| 9 | + @controller = ColabIntegrationPluginController.new | ||
| 9 | @john = fast_create(Person, :name => "John Snow") | 10 | @john = fast_create(Person, :name => "John Snow") |
| 10 | @arya = fast_create(Person, :name => "Arya Stark") | 11 | @arya = fast_create(Person, :name => "Arya Stark") |
| 11 | @joffrey = fast_create(Person, :name => "Joffrey Lannister") | 12 | @joffrey = fast_create(Person, :name => "Joffrey Lannister") |
| @@ -43,4 +44,43 @@ class ColabIntegrationPluginControllerTest < ActionController::TestCase | @@ -43,4 +44,43 @@ class ColabIntegrationPluginControllerTest < ActionController::TestCase | ||
| 43 | } | 44 | } |
| 44 | assert_equal persons_with_article.count, 1 | 45 | assert_equal persons_with_article.count, 1 |
| 45 | end | 46 | end |
| 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 | + ) | ||
| 85 | + end | ||
| 46 | end | 86 | end |