gitlab-org--gitlab-foss/spec/graphql/resolvers/concerns/resolves_ids_spec.rb

44 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
RSpec.describe ResolvesIds do
# gid://gitlab/Project/6
# gid://gitlab/Issue/6
# gid://gitlab/Project/6 gid://gitlab/Issue/6
context 'with a single project' do
let(:ids) { 'gid://gitlab/Project/6' }
let(:type) { ::Types::GlobalIDType[::Project] }
it 'returns the correct array' do
expect(resolve_ids).to match_array(['6'])
end
end
context 'with a single issue' do
let(:ids) { 'gid://gitlab/Issue/9' }
let(:type) { ::Types::GlobalIDType[::Issue] }
it 'returns the correct array' do
expect(resolve_ids).to match_array(['9'])
end
end
context 'with multiple users' do
let(:ids) { ['gid://gitlab/User/7', 'gid://gitlab/User/13', 'gid://gitlab/User/21'] }
let(:type) { ::Types::GlobalIDType[::User] }
it 'returns the correct array' do
expect(resolve_ids).to match_array(%w[7 13 21])
end
end
def mock_resolver
Class.new(GraphQL::Schema::Resolver) { extend ResolvesIds }
end
def resolve_ids
mock_resolver.resolve_ids(ids, type)
end
end