[Git][noosfero/noosfero][api] 2 commits: api: removes obsolete user tests and fixes person creation test
Larissa Reis
gitlab at gitlab.com
Sat Jul 4 02:43:11 BRT 2015
Larissa Reis pushed to branch api at Noosfero / noosfero
Commits:
e68b4d65 by Larissa Reis at 2015-07-04T02:05:34Z
api: removes obsolete user tests and fixes person creation test
- - - - -
fb32cdd0 by Larissa Reis at 2015-07-04T02:39:02Z
api: fixes comment test
Instead of using nested attributes to create new comment, API users
will just put the attributes straight up. It makes more sense that
way, avoiding redundancy in the request url.
- - - - -
4 changed files:
- lib/noosfero/api/v1/comments.rb
- lib/noosfero/api/v1/people.rb
- test/unit/api/people_test.rb
- − test/unit/api/users_test.rb
Changes:
=====================================
lib/noosfero/api/v1/comments.rb
=====================================
--- a/lib/noosfero/api/v1/comments.rb
+++ b/lib/noosfero/api/v1/comments.rb
@@ -27,10 +27,10 @@ module Noosfero
end
# Example Request:
- # POST api/v1/articles/12/comments?private_toke=234298743290432&body=new comment
+ # POST api/v1/articles/12/comments?private_token=2298743290432&body=new comment&title=New
post ":id/comments" do
article = find_article(environment.articles, params[:id])
- options = params[:comment].merge(:author => current_person)
+ options = params.select { |key,v| !['id','private_token'].include?(key) }.merge(:author => current_person)
present article.comments.create(options), :with => Entities::Comment
end
end
=====================================
lib/noosfero/api/v1/people.rb
=====================================
--- a/lib/noosfero/api/v1/people.rb
+++ b/lib/noosfero/api/v1/people.rb
@@ -57,7 +57,9 @@ module Noosfero
user_data[:password] = params[:person].delete(:password)
user_data[:password_confirmation] = params[:person].delete(:password_confirmation)
user = User.build(user_data, params[:person], environment)
- if !user.signup!
+ begin
+ user.signup!
+ rescue ActiveRecord::RecordInvalid
render_api_errors!(user.errors.full_messages)
end
=====================================
test/unit/api/people_test.rb
=====================================
--- a/test/unit/api/people_test.rb
+++ b/test/unit/api/people_test.rb
@@ -112,7 +112,7 @@ class PeopleTest < ActiveSupport::TestCase
should 'return 400 status for invalid person creation' do
params[:person] = {:login => 'some'}
- post "/api/v1/users?#{params.to_query}"
+ post "/api/v1/people?#{params.to_query}"
json = JSON.parse(last_response.body)
assert_equal 400, last_response.status
end
=====================================
test/unit/api/users_test.rb deleted
=====================================
--- a/test/unit/api/users_test.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-require File.dirname(__FILE__) + '/test_helper'
-
-class UsersTest < ActiveSupport::TestCase
-
- def setup
- login_api
- end
-
- should 'list users' do
- get "/api/v1/users/?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_includes json["users"].map { |a| a["login"] }, user.login
- end
-
- should 'create a user' do
- params[:user] = {:login => 'some', :password => '123456', :password_confirmation => '123456', :email => 'some at some.com'}
- post "/api/v1/users?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_equal 'some', json['user']['login']
- end
-
- should 'return 400 status for invalid user creation' do
- params[:user] = {:login => 'some'}
- post "/api/v1/users?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_equal 400, last_response.status
- end
-
- should 'get user' do
- get "/api/v1/users/#{user.id}?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_equal user.id, json['user']['id']
- end
-
- should 'list user permissions' do
- community = fast_create(Community)
- community.add_admin(person)
- get "/api/v1/users/#{user.id}/?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_includes json["user"]["permissions"], community.identifier
- end
-
- should 'get logged user' do
- get "/api/v1/users/me?#{params.to_query}"
- json = JSON.parse(last_response.body)
- assert_equal user.id, json['user']['id']
- end
-
-end
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/2168439b319169356d22725be0f09d765b87739b...fb32cdd0bfe123fa6e95ef2b0d499449779ac7a9
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20150704/839041fb/attachment.html>
More information about the Noosfero-dev
mailing list