summaryrefslogtreecommitdiff
path: root/spec/requests/api/users_spec.rb
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2015-09-22 16:26:59 -0500
committerPatricio Cano <suprnova32@gmail.com>2015-09-22 16:26:59 -0500
commitf60eb60473a1dcfd2b874d5ebac6dca60da7c1ea (patch)
tree863c43ad056482e10c2e3ece4f5aecffd9cc424e /spec/requests/api/users_spec.rb
parente0a23791d3cdf7a72e974acc79c3755b35f2da79 (diff)
downloadgitlab-ce-f60eb60473a1dcfd2b874d5ebac6dca60da7c1ea.tar.gz
Added ability to update or set the identity of an existing user, like the documentation said it was possible, but actually wasn't.fix-user-identities-api
Diffstat (limited to 'spec/requests/api/users_spec.rb')
-rw-r--r--spec/requests/api/users_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/requests/api/users_spec.rb b/spec/requests/api/users_spec.rb
index f9bc63680ba..d26a300ed82 100644
--- a/spec/requests/api/users_spec.rb
+++ b/spec/requests/api/users_spec.rb
@@ -7,6 +7,7 @@ describe API::API, api: true do
let(:admin) { create(:admin) }
let(:key) { create(:key, user: user) }
let(:email) { create(:email, user: user) }
+ let(:omniauth_user) { create(:omniauth_user) }
describe "GET /users" do
context "when unauthenticated" do
@@ -230,6 +231,19 @@ describe API::API, api: true do
expect(user.reload.username).to eq(user.username)
end
+ it "should update user's existing identity" do
+ put api("/users/#{omniauth_user.id}", admin), provider: 'ldapmain', extern_uid: '654321'
+ expect(response.status).to eq(200)
+ expect(omniauth_user.reload.identities.first.extern_uid).to eq('654321')
+ end
+
+ it 'should update user with new identity' do
+ put api("/users/#{user.id}", admin), provider: 'github', extern_uid: '67890'
+ expect(response.status).to eq(200)
+ expect(user.reload.identities.first.extern_uid).to eq('67890')
+ expect(user.reload.identities.first.provider).to eq('github')
+ end
+
it "should update admin status" do
put api("/users/#{user.id}", admin), { admin: true }
expect(response.status).to eq(200)