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,6 +113,7 @@ module Noosfero | ||
113 | expose :id | 113 | expose :id |
114 | expose :login | 114 | expose :login |
115 | expose :person, :using => Profile | 115 | expose :person, :using => Profile |
116 | + expose :activated?, as: :activated | ||
116 | expose :permissions do |user, options| | 117 | expose :permissions do |user, options| |
117 | output = {} | 118 | output = {} |
118 | user.person.role_assignments.map do |role_assigment| | 119 | user.person.role_assignments.map do |role_assigment| |
lib/noosfero/api/session.rb
@@ -47,8 +47,8 @@ module Noosfero | @@ -47,8 +47,8 @@ module Noosfero | ||
47 | end | 47 | end |
48 | 48 | ||
49 | user = User.new(attrs) | 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 | present user, :with => Entities::UserLogin | 52 | present user, :with => Entities::UserLogin |
53 | else | 53 | else |
54 | message = user.errors.to_json | 54 | message = user.errors.to_json |
test/unit/api/session_test.rb
@@ -21,9 +21,22 @@ class SessionTest < ActiveSupport::TestCase | @@ -21,9 +21,22 @@ class SessionTest < ActiveSupport::TestCase | ||
21 | end | 21 | end |
22 | 22 | ||
23 | should 'register a user' do | 23 | should 'register a user' do |
24 | + Environment.default.enable('skip_new_user_email_confirmation') | ||
24 | params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" } | 25 | params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" } |
25 | post "/api/v1/register?#{params.to_query}" | 26 | post "/api/v1/register?#{params.to_query}" |
26 | assert_equal 201, last_response.status | 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 | end | 40 | end |
28 | 41 | ||
29 | should 'do not register a user without email' do | 42 | should 'do not register a user without email' do |