diff options
Diffstat (limited to 'spec/support/shared_examples/graphql/members_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/graphql/members_shared_examples.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/support/shared_examples/graphql/members_shared_examples.rb b/spec/support/shared_examples/graphql/members_shared_examples.rb new file mode 100644 index 00000000000..a58e716efd2 --- /dev/null +++ b/spec/support/shared_examples/graphql/members_shared_examples.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'a working membership object query' do |model_option| + let_it_be(:member_source) { member.source } + let_it_be(:member_source_type) { member_source.class.to_s.downcase } + + it 'contains edge to expected project' do + expect( + graphql_data.dig('user', "#{member_source_type}Memberships", 'nodes', 0, member_source_type, 'id') + ).to eq(member.send(member_source_type).to_global_id.to_s) + end + + it 'contains correct access level' do + expect( + graphql_data.dig('user', "#{member_source_type}Memberships", 'nodes', 0, 'accessLevel', 'integerValue') + ).to eq(30) + + expect( + graphql_data.dig('user', "#{member_source_type}Memberships", 'nodes', 0, 'accessLevel', 'stringValue') + ).to eq('DEVELOPER') + end +end |