Commit 9c0883cb52cefe2a06c83595231e00d299d4dfb2
1 parent
6cbb827e
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
api: fix user activation
Showing
3 changed files
with
16 additions
and
3 deletions
Show diff stats
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
... | ... | @@ -48,9 +48,8 @@ module Noosfero |
48 | 48 | end |
49 | 49 | |
50 | 50 | user = User.new(attrs) |
51 | - if user.save | |
52 | - user.activate | |
53 | - user.generate_private_token! | |
51 | + if user.save | |
52 | + user.generate_private_token! if user.activated? | |
54 | 53 | present user, :with => Entities::UserLogin |
55 | 54 | else |
56 | 55 | 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 | ... | ... |