diff options
author | Ryan Cobb <rcobb@gitlab.com> | 2019-05-29 10:56:38 -0600 |
---|---|---|
committer | Ryan Cobb <rcobb@gitlab.com> | 2019-05-29 10:56:38 -0600 |
commit | 0393c5059de2ce03f706fbf28056e1d80304b73a (patch) | |
tree | f47c4daaf9315c89cc6b039988d57e1fbd14c322 /spec/graphql/resolvers/tree_resolver_spec.rb | |
parent | 4fae62b9efa985e4cf6a09cb6bd4b9cf665e6b32 (diff) | |
parent | 70d1537dda66da8b319ceefde36195047b26a8fd (diff) | |
download | gitlab-ce-0393c5059de2ce03f706fbf28056e1d80304b73a.tar.gz |
Merge branch 'master' into 61964-unicorn-instrumentation
Diffstat (limited to 'spec/graphql/resolvers/tree_resolver_spec.rb')
-rw-r--r-- | spec/graphql/resolvers/tree_resolver_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/graphql/resolvers/tree_resolver_spec.rb b/spec/graphql/resolvers/tree_resolver_spec.rb new file mode 100644 index 00000000000..9f95b740ab1 --- /dev/null +++ b/spec/graphql/resolvers/tree_resolver_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +describe Resolvers::TreeResolver do + include GraphqlHelpers + + let(:repository) { create(:project, :repository).repository } + + describe '#resolve' do + it 'resolves to a tree' do + result = resolve_repository({ ref: "master" }) + + expect(result).to be_an_instance_of(Tree) + end + + it 'resolve to a recursive tree' do + result = resolve_repository({ ref: "master", recursive: true }) + + expect(result.trees[4].path).to eq('files/html') + end + + context 'when repository does not exist' do + it 'returns nil' do + allow(repository).to receive(:exists?).and_return(false) + + result = resolve_repository({ ref: "master" }) + + expect(result).to be(nil) + end + end + end + + def resolve_repository(args) + resolve(described_class, obj: repository, args: args) + end +end |