diff options
author | NavaL <ayoyo@thoughtworks.com> | 2016-06-22 19:17:15 +0200 |
---|---|---|
committer | NavaL <ayoyo@thoughtworks.com> | 2016-06-22 19:17:15 +0200 |
commit | e2f19bcfb6dbce77746c2d61715340525b29a592 (patch) | |
tree | 3e0de05c52b7f6ea521ae52f9e99f29014e6d511 | |
parent | 3a5d8543d710bd69eb7bf908f3aef07db72798a9 (diff) |
[feature] expose is_admin in the user api
So that whoever consumes the API can use this attribute to
determine if admin functionalities should be made available to
the current user.
-rw-r--r-- | app/models/user.rb | 3 | ||||
-rw-r--r-- | test/integration/api/signup_test.rb | 2 | ||||
-rw-r--r-- | test/unit/user_test.rb | 8 |
3 files changed, 11 insertions, 2 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index cb093cf..e3246ad 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -75,7 +75,8 @@ class User < CouchRest::Model::Base :login => self.login, :ok => self.valid?, :id => self.id, - :enabled => self.enabled? + :enabled => self.enabled?, + :is_admin => self.is_admin? }.to_json(options) end diff --git a/test/integration/api/signup_test.rb b/test/integration/api/signup_test.rb index 7216496..05a0abe 100644 --- a/test/integration/api/signup_test.rb +++ b/test/integration/api/signup_test.rb @@ -8,7 +8,7 @@ class SignupTest < SrpTest end test "signup response" do - assert_json_response :login => @login, :ok => true, :id => @user.id, :enabled => true + assert_json_response :login => @login, :ok => true, :is_admin => false, :id => @user.id, :enabled => true assert last_response.successful? end diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 9501d34..55d0648 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -71,6 +71,14 @@ class UserTest < ActiveSupport::TestCase assert_equal key, @user.public_key end + test "user to json includes id, login, valid, is_admin and enabled" do + json_content = JSON.parse @user.to_json + assert_equal @user.id, json_content["id"] + assert_equal @user.valid?, json_content["ok"] + assert_equal @user.login, json_content["login"] + assert_equal @user.enabled?, json_content["enabled"] + assert_equal @user.is_admin?, json_content["is_admin"] + end # |