43 lines
1.1 KiB
Ruby
43 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
|