[Git][noosfero/noosfero][master] 3 commits: return api content of members block

Leandro Nunes gitlab at mg.gitlab.com
Fri Mar 3 16:34:51 BRT 2017


Leandro Nunes pushed to branch master at Noosfero / noosfero


Commits:
5e7c336e by Leandro Nunes dos Santos at 2017-03-03T14:18:01-03:00
return api content of members block

- - - - -
822b96b6 by Leandro Nunes dos Santos at 2017-03-03T14:42:16-03:00
adding unit tests for api_content in people block

- - - - -
d5b8b2ba by Leandro Nunes at 2017-03-03T19:08:44+00:00
Merge branch 'return_api_content_of_members_block' into 'master'

return api content of members block

See merge request !1128
- - - - -


4 changed files:

- plugins/people_block/lib/friends_block.rb
- plugins/people_block/lib/people_block_base.rb
- plugins/people_block/test/unit/members_block_test.rb
- plugins/people_block/test/unit/people_block_test.rb


Changes:

=====================================
plugins/people_block/lib/friends_block.rb
=====================================
--- a/plugins/people_block/lib/friends_block.rb
+++ b/plugins/people_block/lib/friends_block.rb
@@ -24,10 +24,4 @@ class FriendsBlock < PeopleBlockBase
     { :profile => [:profile] }
   end
 
-  def api_content(params = {})
-    content = {}
-    content['people'] = Api::Entities::Person.represent(profiles.limit(self.limit)).as_json
-    content['#'] = profiles.size
-    content
-  end
 end


=====================================
plugins/people_block/lib/people_block_base.rb
=====================================
--- a/plugins/people_block/lib/people_block_base.rb
+++ b/plugins/people_block/lib/people_block_base.rb
@@ -46,4 +46,11 @@ class PeopleBlockBase < Block
     { }
   end
 
+  def api_content(params = {})
+    content = {}
+    content['people'] = Api::Entities::Person.represent(profiles.limit(self.limit)).as_json
+    content['#'] = profiles.size
+    content
+  end
+
 end


=====================================
plugins/people_block/test/unit/members_block_test.rb
=====================================
--- a/plugins/people_block/test/unit/members_block_test.rb
+++ b/plugins/people_block/test/unit/members_block_test.rb
@@ -346,4 +346,30 @@ class MembersBlockViewTest < ActionView::TestCase
     assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
   end
 
+  should 'list members in api content' do
+    owner = fast_create(Community)
+    person1 = fast_create(Person)
+    person2 = fast_create(Person)
+    owner.add_member(person1)
+    owner.add_member(person2)
+
+    block = MembersBlock.new
+    block.expects(:owner).returns(owner).at_least_once
+    json = block.api_content
+    assert_equivalent [person1.identifier, person2.identifier], json["people"].map {|p| p[:identifier]}
+  end
+
+  should 'limit friends list in api content' do
+    owner = fast_create(Community)
+    5.times do
+      member = fast_create(Person)
+      owner.add_member(member)
+    end
+    block = MembersBlock.new(limit: 3)
+    block.expects(:owner).returns(owner.reload).at_least_once
+    json = block.api_content
+    assert_equal 3, json["people"].size
+    assert_equal 5, json["#"]
+  end
+
 end


=====================================
plugins/people_block/test/unit/people_block_test.rb
=====================================
--- a/plugins/people_block/test/unit/people_block_test.rb
+++ b/plugins/people_block/test/unit/people_block_test.rb
@@ -182,4 +182,28 @@ class PeopleBlockViewTest < ActionView::TestCase
     assert a1 > a2*NON_LINEAR_FACTOR, "#{a1} should be larger than #{a2} by at least a factor of #{NON_LINEAR_FACTOR}"
   end
 
+  should 'list people api content' do
+    owner = fast_create(Environment)
+    person1 = fast_create(Person, :environment_id => owner.id)
+    person2 = fast_create(Person, :environment_id => owner.id)
+
+    block = PeopleBlock.new
+    block.expects(:owner).returns(owner).at_least_once
+    json = block.api_content
+    assert_equivalent [person1.identifier, person2.identifier], json["people"].map {|p| p[:identifier]}
+  end
+
+  should 'limit people list in api content' do
+    owner = fast_create(Environment)
+    5.times do
+      fast_create(Person, :environment_id => owner.id)
+    end
+    block = PeopleBlock.new(limit: 3)
+    block.expects(:owner).returns(owner.reload).at_least_once
+    json = block.api_content
+    assert_equal 3, json["people"].size
+    assert_equal 5, json["#"]
+  end
+
+
 end



View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/515982161c7f8b331ae75aa4045c2a586668035c...d5b8b2ba93d47a6897b189ada055153f3403e1f2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20170303/a28fa5a4/attachment-0001.html>


More information about the Noosfero-dev mailing list