1# frozen_string_literal: true 2 3require 'spec_helper' 4 5RSpec.describe Resolvers::Ci::TemplateResolver do 6 include GraphqlHelpers 7 8 describe '#resolve' do 9 let(:user) { create(:user) } 10 let(:project) { create(:project) } 11 12 subject(:resolve_subject) { resolve(described_class, obj: project, ctx: { current_user: user }, args: { name: template_name }) } 13 14 context 'when template exists' do 15 let(:template_name) { 'Android' } 16 17 it 'returns the found template' do 18 found_template = resolve_subject 19 20 expect(found_template).to be_an_instance_of(Gitlab::Template::GitlabCiYmlTemplate) 21 expect(found_template.name).to eq('Android') 22 end 23 end 24 25 context 'when template does not exist' do 26 let(:template_name) { 'invalidname' } 27 28 it 'returns nil' do 29 expect(resolve_subject).to eq(nil) 30 end 31 end 32 end 33end 34