Commit 085aaaa9185809b174b4ad05bd1cb7e691dce599

Authored by Evandro Junior
Committed by Leandro Santos
1 parent 52a0efb0

Fix merge problems with master and other small fixes

test/api/comments_test.rb
... ... @@ -154,8 +154,8 @@ class CommentsTest < ActiveSupport::TestCase
154 154 assert_equal ["comment 2"], json["comments"].map {|c| c["body"]}
155 155 end
156 156  
157   - should 'not visitor list comments if has no permission to view the source article' do
158   - visitor_setup
  157 + should 'not, anonymous list comments if has no permission to view the source article' do
  158 + anonymous_setup
159 159 person = fast_create(Person)
160 160 article = fast_create(Article, :profile_id => person.id, :name => "Some thing", :published => false)
161 161 assert !article.published?
... ... @@ -188,9 +188,9 @@ class CommentsTest < ActiveSupport::TestCase
188 188 assert_equal 200, last_response.status
189 189 assert_equal comment.id, json['comment']['id']
190 190 end
191   -
192   - should 'not visitor comment an article (at least so far...)' do
193   - visitor_setup
  191 +
  192 + should 'not, anonymous comment an article (at least so far...)' do
  193 + anonymous_setup
194 194 person = fast_create(Person)
195 195 article = fast_create(Article, :profile_id => person.id, :name => "Some thing")
196 196 body = 'My comment'
... ... @@ -202,4 +202,29 @@ class CommentsTest < ActiveSupport::TestCase
202 202 assert_equal 401, last_response.status
203 203 end
204 204  
  205 + should 'paginate comments' do
  206 + login_api
  207 + article = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
  208 + 5.times { article.comments.create!(:body => "some comment", :author => user.person) }
  209 + params[:per_page] = 3
  210 +
  211 + get "/api/v1/articles/#{article.id}/comments?#{params.to_query}"
  212 + json = JSON.parse(last_response.body)
  213 + assert_equal 200, last_response.status
  214 + assert_equal 3, json["comments"].length
  215 + end
  216 +
  217 + should 'return only root comments' do
  218 + login_api
  219 + article = fast_create(Article, :profile_id => user.person.id, :name => "Some thing")
  220 + comment1 = article.comments.create!(:body => "some comment", :author => user.person)
  221 + comment2 = article.comments.create!(:body => "another comment", :author => user.person, :reply_of_id => comment1.id)
  222 + params[:without_reply] = true
  223 +
  224 + get "/api/v1/articles/#{article.id}/comments?#{params.to_query}"
  225 + json = JSON.parse(last_response.body)
  226 + assert_equal 200, last_response.status
  227 + assert_equal [comment1.id], json["comments"].map { |c| c['id'] }
  228 + end
  229 +
205 230 end
... ...
test/api/communities_test.rb
... ... @@ -25,7 +25,7 @@ class CommunitiesTest < ActiveSupport::TestCase
25 25 assert_equivalent [community1.id, community2.id], json['communities'].map {|c| c['id']}
26 26 end
27 27  
28   - should 'logged user not list invisible communities' do
  28 + should 'not, logged user list invisible communities' do
29 29 login_api
30 30 community1 = fast_create(Community, :environment_id => environment.id)
31 31 fast_create(Community, :environment_id => environment.id, :visible => false)
... ... @@ -80,7 +80,7 @@ class CommunitiesTest < ActiveSupport::TestCase
80 80 assert_equal community.id, json['community']['id']
81 81 end
82 82  
83   - should 'logged user not get invisible community' do
  83 + should 'not, logged user get invisible community' do
84 84 login_api
85 85 community = fast_create(Community, :environment_id => environment.id, :visible => false)
86 86  
... ... @@ -89,7 +89,7 @@ class CommunitiesTest < ActiveSupport::TestCase
89 89 assert json['community'].blank?
90 90 end
91 91  
92   - should 'logged user not get private communities without permission' do
  92 + should 'not, logged user get private communities without permission' do
93 93 login_api
94 94 community = fast_create(Community, :environment_id => environment.id)
95 95 fast_create(Community, :environment_id => environment.id, :public_profile => false)
... ... @@ -120,7 +120,7 @@ class CommunitiesTest < ActiveSupport::TestCase
120 120 assert_equivalent [community.id], json['communities'].map {|c| c['id']}
121 121 end
122 122  
123   - should 'logged user not list person communities invisible' do
  123 + should 'not, logged user list person communities invisible' do
124 124 login_api
125 125 c1 = fast_create(Community, :environment_id => environment.id)
126 126 c2 = fast_create(Community, :environment_id => environment.id, :visible => false)
... ... @@ -190,7 +190,7 @@ class CommunitiesTest < ActiveSupport::TestCase
190 190 assert_equivalent [community1.id, community2.id], json['communities'].map {|c| c['id']}
191 191 end
192 192  
193   - should 'not anonymous list invisible communities' do
  193 + should 'not, anonymous list invisible communities' do
194 194 anonymous_setup
195 195 community1 = fast_create(Community, :environment_id => environment.id)
196 196 fast_create(Community, :environment_id => environment.id, :visible => false)
... ... @@ -210,9 +210,7 @@ class CommunitiesTest < ActiveSupport::TestCase
210 210 assert_equal [community1.id, community2.id], json['communities'].map {|c| c['id']}
211 211 end
212 212  
213   -
214   -
215   - should 'not anonymous create a community' do
  213 + should 'not, anonymous create a community' do
216 214 anonymous_setup
217 215 params[:community] = {:name => 'some'}
218 216 post "/api/v1/communities?#{params.to_query}"
... ... @@ -228,7 +226,7 @@ class CommunitiesTest < ActiveSupport::TestCase
228 226 assert_equal community.id, json['community']['id']
229 227 end
230 228  
231   - should 'not anonymous get invisible community' do
  229 + should 'not, anonymous get invisible community' do
232 230 anonymous_setup
233 231 community = fast_create(Community, :environment_id => environment.id, :visible => false)
234 232 get "/api/v1/communities/#{community.id}"
... ... @@ -236,7 +234,7 @@ class CommunitiesTest < ActiveSupport::TestCase
236 234 assert json['community'].blank?
237 235 end
238 236  
239   - should 'anonymous not get private communities' do
  237 + should 'not, anonymous get private communities' do
240 238 anonymous_setup
241 239 community = fast_create(Community, :environment_id => environment.id)
242 240 fast_create(Community, :environment_id => environment.id, :public_profile => false)
... ...
test/api/enterprises_test.rb
... ... @@ -4,10 +4,20 @@ class EnterprisesTest < ActiveSupport::TestCase
4 4  
5 5 def setup
6 6 Enterprise.delete_all
  7 + end
  8 +
  9 + should 'logger user list only enterprises' do
7 10 login_api
  11 + community = fast_create(Community, :environment_id => environment.id) # should not list this community
  12 + enterprise = fast_create(Enterprise, :environment_id => environment.id, :public_profile => true)
  13 + get "/api/v1/enterprises?#{params.to_query}"
  14 + json = JSON.parse(last_response.body)
  15 + assert_includes json['enterprises'].map {|c| c['id']}, enterprise.id
  16 + assert_not_includes json['enterprises'].map {|c| c['id']}, community.id
8 17 end
9 18  
10   - should 'list only enterprises' do
  19 + should 'anonymous list only enterprises' do
  20 + anonymous_setup
11 21 community = fast_create(Community, :environment_id => environment.id) # should not list this community
12 22 enterprise = fast_create(Enterprise, :environment_id => environment.id, :public_profile => true)
13 23 get "/api/v1/enterprises?#{params.to_query}"
... ... @@ -16,7 +26,17 @@ class EnterprisesTest < ActiveSupport::TestCase
16 26 assert_not_includes json['enterprises'].map {|c| c['id']}, community.id
17 27 end
18 28  
19   - should 'list all enterprises' do
  29 + should 'anonymous list all enterprises' do
  30 + anonymous_setup
  31 + enterprise1 = fast_create(Enterprise, :environment_id => environment.id, :public_profile => true)
  32 + enterprise2 = fast_create(Enterprise, :environment_id => environment.id)
  33 + get "/api/v1/enterprises?#{params.to_query}"
  34 + json = JSON.parse(last_response.body)
  35 + assert_equivalent [enterprise1.id, enterprise2.id], json['enterprises'].map {|c| c['id']}
  36 + end
  37 +
  38 + should 'logger user list all enterprises' do
  39 + login_api
20 40 enterprise1 = fast_create(Enterprise, :environment_id => environment.id, :public_profile => true)
21 41 enterprise2 = fast_create(Enterprise, :environment_id => environment.id)
22 42 get "/api/v1/enterprises?#{params.to_query}"
... ... @@ -25,6 +45,27 @@ class EnterprisesTest < ActiveSupport::TestCase
25 45 end
26 46  
27 47 should 'not list invisible enterprises' do
  48 + login_api
  49 + enterprise1 = fast_create(Enterprise, :environment_id => environment.id)
  50 + fast_create(Enterprise, :visible => false)
  51 +
  52 + get "/api/v1/enterprises?#{params.to_query}"
  53 + json = JSON.parse(last_response.body)
  54 + assert_equal [enterprise1.id], json['enterprises'].map {|c| c['id']}
  55 + end
  56 +
  57 + should 'not, anonymous list invisible enterprises' do
  58 + anonymous_setup
  59 + enterprise1 = fast_create(Enterprise, :environment_id => environment.id)
  60 + fast_create(Enterprise, :visible => false)
  61 +
  62 + get "/api/v1/enterprises?#{params.to_query}"
  63 + json = JSON.parse(last_response.body)
  64 + assert_equal [enterprise1.id], json['enterprises'].map {|c| c['id']}
  65 + end
  66 +
  67 + should 'not, logger user list invisible enterprises' do
  68 + login_api
28 69 enterprise1 = fast_create(Enterprise, :environment_id => environment.id)
29 70 fast_create(Enterprise, :visible => false)
30 71  
... ... @@ -33,7 +74,8 @@ class EnterprisesTest < ActiveSupport::TestCase
33 74 assert_equal [enterprise1.id], json['enterprises'].map {|c| c['id']}
34 75 end
35 76  
36   - should 'list private enterprises' do
  77 + should 'anonymous list private enterprises' do
  78 + anonymous_setup
37 79 enterprise1 = fast_create(Enterprise, :environment_id => environment.id)
38 80 enterprise2 = fast_create(Enterprise, :environment_id => environment.id, :public_profile => false)
39 81  
... ... @@ -42,7 +84,18 @@ class EnterprisesTest < ActiveSupport::TestCase
42 84 assert_equal [enterprise1.id, enterprise2.id], json['enterprises'].map {|c| c['id']}
43 85 end
44 86  
45   - should 'list private enterprise for members' do
  87 + should 'logged user list private enterprises' do
  88 + login_api
  89 + enterprise1 = fast_create(Enterprise, :environment_id => environment.id)
  90 + enterprise2 = fast_create(Enterprise, :environment_id => environment.id, :public_profile => false)
  91 +
  92 + get "/api/v1/enterprises?#{params.to_query}"
  93 + json = JSON.parse(last_response.body)
  94 + assert_equivalent [enterprise1.id, enterprise2.id], json['enterprises'].map {|c| c['id']}
  95 + end
  96 +
  97 + should 'logged user list private enterprise for members' do
  98 + login_api
46 99 c1 = fast_create(Enterprise, :environment_id => environment.id)
47 100 c2 = fast_create(Enterprise, :environment_id => environment.id, :public_profile => false)
48 101 c2.add_member(person)
... ... @@ -52,7 +105,17 @@ class EnterprisesTest < ActiveSupport::TestCase
52 105 assert_equivalent [c1.id, c2.id], json['enterprises'].map {|c| c['id']}
53 106 end
54 107  
55   - should 'get enterprise' do
  108 + should 'anonymous get enterprise' do
  109 + anonymous_setup
  110 + enterprise = fast_create(Enterprise, :environment_id => environment.id)
  111 +
  112 + get "/api/v1/enterprises/#{enterprise.id}?#{params.to_query}"
  113 + json = JSON.parse(last_response.body)
  114 + assert_equal enterprise.id, json['enterprise']['id']
  115 + end
  116 +
  117 + should 'logged user get enterprise' do
  118 + login_api
56 119 enterprise = fast_create(Enterprise, :environment_id => environment.id)
57 120  
58 121 get "/api/v1/enterprises/#{enterprise.id}?#{params.to_query}"
... ... @@ -60,7 +123,17 @@ class EnterprisesTest < ActiveSupport::TestCase
60 123 assert_equal enterprise.id, json['enterprise']['id']
61 124 end
62 125  
63   - should 'not get invisible enterprise' do
  126 + should 'not, logger user get invisible enterprise' do
  127 + login_api
  128 + enterprise = fast_create(Enterprise, :visible => false)
  129 +
  130 + get "/api/v1/enterprises/#{enterprise.id}?#{params.to_query}"
  131 + json = JSON.parse(last_response.body)
  132 + assert json['enterprise'].blank?
  133 + end
  134 +
  135 + should 'not, anonymous get invisible enterprise' do
  136 + anonymous_setup
64 137 enterprise = fast_create(Enterprise, :visible => false)
65 138  
66 139 get "/api/v1/enterprises/#{enterprise.id}?#{params.to_query}"
... ... @@ -69,6 +142,17 @@ class EnterprisesTest < ActiveSupport::TestCase
69 142 end
70 143  
71 144 should 'not get private enterprises without permission' do
  145 + login_api
  146 + enterprise = fast_create(Enterprise, :environment_id => environment.id)
  147 + fast_create(Enterprise, :environment_id => environment.id, :public_profile => false)
  148 +
  149 + get "/api/v1/enterprises/#{enterprise.id}?#{params.to_query}"
  150 + json = JSON.parse(last_response.body)
  151 + assert_equal enterprise.id, json['enterprise']['id']
  152 + end
  153 +
  154 + should 'not, anonymous get private enterprises' do
  155 + anonymous_setup
72 156 enterprise = fast_create(Enterprise, :environment_id => environment.id)
73 157 fast_create(Enterprise, :environment_id => environment.id, :public_profile => false)
74 158  
... ... @@ -78,6 +162,7 @@ class EnterprisesTest < ActiveSupport::TestCase
78 162 end
79 163  
80 164 should 'get private enterprise for members' do
  165 + login_api
81 166 enterprise = fast_create(Enterprise, :public_profile => false)
82 167 enterprise.add_member(person)
83 168  
... ... @@ -87,6 +172,7 @@ class EnterprisesTest < ActiveSupport::TestCase
87 172 end
88 173  
89 174 should 'list person enterprises' do
  175 + login_api
90 176 enterprise = fast_create(Enterprise, :environment_id => environment.id)
91 177 fast_create(Enterprise, :environment_id => environment.id)
92 178 enterprise.add_member(person)
... ... @@ -97,6 +183,7 @@ class EnterprisesTest < ActiveSupport::TestCase
97 183 end
98 184  
99 185 should 'not list person enterprises invisible' do
  186 + login_api
100 187 c1 = fast_create(Enterprise, :environment_id => environment.id)
101 188 c2 = fast_create(Enterprise, :environment_id => environment.id, :visible => false)
102 189 c1.add_member(person)
... ...
test/api/profiles_test.rb
... ... @@ -128,5 +128,4 @@ class ProfilesTest < ActiveSupport::TestCase
128 128 refute json.has_key?('Rating')
129 129 end
130 130  
131   -
132 131 end
... ...