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 | ... | ... |