summaryrefslogtreecommitdiff
path: root/spec/graphql/resolvers/last_commit_resolver_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/graphql/resolvers/last_commit_resolver_spec.rb')
-rw-r--r--spec/graphql/resolvers/last_commit_resolver_spec.rb28
1 files changed, 26 insertions, 2 deletions
diff --git a/spec/graphql/resolvers/last_commit_resolver_spec.rb b/spec/graphql/resolvers/last_commit_resolver_spec.rb
index 15b09b77a10..5ac6ad59864 100644
--- a/spec/graphql/resolvers/last_commit_resolver_spec.rb
+++ b/spec/graphql/resolvers/last_commit_resolver_spec.rb
@@ -2,10 +2,12 @@
require 'spec_helper'
-describe Resolvers::LastCommitResolver do
+RSpec.describe Resolvers::LastCommitResolver do
include GraphqlHelpers
+ include RepoHelpers
- let(:repository) { create(:project, :repository).repository }
+ let(:project) { create(:project, :repository) }
+ let(:repository) { project.repository }
let(:tree) { repository.tree(ref, path) }
let(:commit) { resolve(described_class, obj: tree) }
@@ -29,6 +31,28 @@ describe Resolvers::LastCommitResolver do
end
end
+ context 'last commit for a wildcard pathspec' do
+ let(:ref) { 'fix' }
+ let(:path) { 'files/*' }
+
+ it 'returns nil' do
+ expect(commit).to be_nil
+ end
+ end
+
+ context 'last commit with pathspec characters' do
+ let(:ref) { 'fix' }
+ let(:path) { ':wq' }
+
+ before do
+ create_file_in_repo(project, ref, ref, path, 'Test file')
+ end
+
+ it 'resolves commit' do
+ expect(commit).to eq(repository.commits(ref, path: path, limit: 1).last)
+ end
+ end
+
context 'last commit does not exist' do
let(:ref) { 'master' }
let(:path) { 'does-not-exist' }