Commit 029064e1fb7c8f56e5643aa63b9cd9f8cea70336

Authored by Victor Costa
2 parents 6694e4b3 9c0883cb

Merge branch 'api' into production

Conflicts:
	lib/noosfero/api/session.rb
lib/noosfero/api/entities.rb
... ... @@ -113,6 +113,7 @@ module Noosfero
113 113 expose :id
114 114 expose :login
115 115 expose :person, :using => Profile
  116 + expose :activated?, as: :activated
116 117 expose :permissions do |user, options|
117 118 output = {}
118 119 user.person.role_assignments.map do |role_assigment|
... ...
lib/noosfero/api/session.rb
... ... @@ -47,8 +47,8 @@ module Noosfero
47 47 end
48 48  
49 49 user = User.new(attrs)
50   - if user.save
51   - user.generate_private_token!
  50 + if user.save
  51 + user.generate_private_token! if user.activated?
52 52 present user, :with => Entities::UserLogin
53 53 else
54 54 message = user.errors.to_json
... ...
test/unit/api/session_test.rb
... ... @@ -21,9 +21,22 @@ class SessionTest < ActiveSupport::TestCase
21 21 end
22 22  
23 23 should 'register a user' do
  24 + Environment.default.enable('skip_new_user_email_confirmation')
24 25 params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" }
25 26 post "/api/v1/register?#{params.to_query}"
26 27 assert_equal 201, last_response.status
  28 + json = JSON.parse(last_response.body)
  29 + assert json['activated']
  30 + assert json['private_token'].present?
  31 + end
  32 +
  33 + should 'register an inactive user' do
  34 + params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" }
  35 + post "/api/v1/register?#{params.to_query}"
  36 + assert_equal 201, last_response.status
  37 + json = JSON.parse(last_response.body)
  38 + assert !json['activated']
  39 + assert json['private_token'].blank?
27 40 end
28 41  
29 42 should 'do not register a user without email' do
... ...