Commit 029064e1fb7c8f56e5643aa63b9cd9f8cea70336
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'api' into production
Conflicts: lib/noosfero/api/session.rb
Showing
3 changed files
with
16 additions
and
2 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
... | ... | @@ -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 | ... | ... |