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