[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