2020-04-22 19:07:51 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
RSpec.shared_examples 'resolving an issuable in GraphQL' do |type|
|
2020-07-28 23:09:34 +05:30
|
|
|
include GraphqlHelpers
|
|
|
|
|
|
|
|
let(:parent_path) { parent.full_path }
|
|
|
|
let(:iid) { issuable.iid }
|
|
|
|
|
|
|
|
subject(:result) { mutation.resolve_issuable(type: type, parent_path: parent_path, iid: iid) }
|
2020-04-22 19:07:51 +05:30
|
|
|
|
|
|
|
context 'when user has access' do
|
|
|
|
before do
|
|
|
|
parent.add_developer(user)
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'resolves issuable by iid' do
|
|
|
|
expect(result).to eq(issuable)
|
|
|
|
end
|
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
context 'the IID does not refer to a valid issuable' do
|
|
|
|
let(:iid) { '100' }
|
2020-04-22 19:07:51 +05:30
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
it 'returns nil' do
|
|
|
|
expect(result).to be_nil
|
|
|
|
end
|
2020-04-22 19:07:51 +05:30
|
|
|
end
|
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
context 'the parent path is not present' do
|
|
|
|
let(:parent_path) { '' }
|
2020-04-22 19:07:51 +05:30
|
|
|
|
2020-07-28 23:09:34 +05:30
|
|
|
it 'returns nil' do
|
|
|
|
expect(result).to be_nil
|
|
|
|
end
|
2020-04-22 19:07:51 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|