diff options
author | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 13:34:23 -0600 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2021-01-20 13:34:23 -0600 |
commit | 6438df3a1e0fb944485cebf07976160184697d72 (patch) | |
tree | 00b09bfd170e77ae9391b1a2f5a93ef6839f2597 /spec/graphql/resolvers/users_resolver_spec.rb | |
parent | 42bcd54d971da7ef2854b896a7b34f4ef8601067 (diff) | |
download | gitlab-ce-6438df3a1e0fb944485cebf07976160184697d72.tar.gz |
Add latest changes from gitlab-org/gitlab@13-8-stable-eev13.8.0-rc42
Diffstat (limited to 'spec/graphql/resolvers/users_resolver_spec.rb')
-rw-r--r-- | spec/graphql/resolvers/users_resolver_spec.rb | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/spec/graphql/resolvers/users_resolver_spec.rb b/spec/graphql/resolvers/users_resolver_spec.rb index 1aa24055a89..031d7c99eef 100644 --- a/spec/graphql/resolvers/users_resolver_spec.rb +++ b/spec/graphql/resolvers/users_resolver_spec.rb @@ -27,7 +27,7 @@ RSpec.describe Resolvers::UsersResolver do context 'when both ids and usernames are passed ' do it 'raises an error' do - expect { resolve_users(ids: [user1.to_global_id.to_s], usernames: [user1.username]) } + expect { resolve_users( args: { ids: [user1.to_global_id.to_s], usernames: [user1.username] } ) } .to raise_error(Gitlab::Graphql::Errors::ArgumentError) end end @@ -35,7 +35,7 @@ RSpec.describe Resolvers::UsersResolver do context 'when a set of IDs is passed' do it 'returns those users' do expect( - resolve_users(ids: [user1.to_global_id.to_s, user2.to_global_id.to_s]) + resolve_users( args: { ids: [user1.to_global_id.to_s, user2.to_global_id.to_s] } ) ).to contain_exactly(user1, user2) end end @@ -43,21 +43,31 @@ RSpec.describe Resolvers::UsersResolver do context 'when a set of usernames is passed' do it 'returns those users' do expect( - resolve_users(usernames: [user1.username, user2.username]) + resolve_users( args: { usernames: [user1.username, user2.username] } ) ).to contain_exactly(user1, user2) end end + context 'when admins is true', :enable_admin_mode do + let(:admin_user) { create(:user, :admin) } + + it 'returns only admins' do + expect( + resolve_users( args: { admins: true }, ctx: { current_user: admin_user } ) + ).to contain_exactly(admin_user) + end + end + context 'when a search term is passed' do it 'returns all users who match', :aggregate_failures do - expect(resolve_users(search: "some")).to contain_exactly(user1, user2) - expect(resolve_users(search: "123784")).to contain_exactly(user2) - expect(resolve_users(search: "someperson")).to contain_exactly(user1) + expect(resolve_users( args: { search: "some" } )).to contain_exactly(user1, user2) + expect(resolve_users( args: { search: "123784" } )).to contain_exactly(user2) + expect(resolve_users( args: { search: "someperson" } )).to contain_exactly(user1) end end end - def resolve_users(args = {}) - resolve(described_class, args: args) + def resolve_users(args: {}, ctx: {}) + resolve(described_class, args: args, ctx: ctx) end end |