diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-12-07 16:49:04 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-12-07 16:49:04 +0000 |
commit | 9dffd0ab6b2e9f5b0db55230d8991f50a01f7669 (patch) | |
tree | 52e1870616006021d7cd33a53cf20eb28b1251e7 /spec/lib | |
parent | ff6a3ae705bead7cc345cab3530cb82a0c74b043 (diff) | |
parent | daf9357aa92283e6cdd0d1e0cade65c8e2294540 (diff) | |
download | gitlab-ce-9dffd0ab6b2e9f5b0db55230d8991f50a01f7669.tar.gz |
Merge branch 'dm-commit-diff-discussions-in-mr-context' into 'master'
Allow commenting on individual commits inside an MR
Closes #31847
See merge request gitlab-org/gitlab-ce!12148
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/banzai/filter/commit_reference_filter_spec.rb | 12 | ||||
-rw-r--r-- | spec/lib/gitlab/git_spec.rb | 25 |
2 files changed, 37 insertions, 0 deletions
diff --git a/spec/lib/banzai/filter/commit_reference_filter_spec.rb b/spec/lib/banzai/filter/commit_reference_filter_spec.rb index 702fcac0c6f..080a5f57da9 100644 --- a/spec/lib/banzai/filter/commit_reference_filter_spec.rb +++ b/spec/lib/banzai/filter/commit_reference_filter_spec.rb @@ -92,6 +92,18 @@ describe Banzai::Filter::CommitReferenceFilter do expect(link).not_to match %r(https?://) expect(link).to eq urls.project_commit_url(project, reference, only_path: true) end + + context "in merge request context" do + let(:noteable) { create(:merge_request, target_project: project, source_project: project) } + let(:commit) { noteable.commits.first } + + it 'handles merge request contextual commit references' do + url = urls.diffs_project_merge_request_url(project, noteable, commit_id: commit.id) + doc = reference_filter("See #{reference}", noteable: noteable) + + expect(doc.css('a').first[:href]).to eq(url) + end + end end context 'cross-project / cross-namespace complete reference' do diff --git a/spec/lib/gitlab/git_spec.rb b/spec/lib/gitlab/git_spec.rb index 494dfe0e595..ce15057dd7d 100644 --- a/spec/lib/gitlab/git_spec.rb +++ b/spec/lib/gitlab/git_spec.rb @@ -38,4 +38,29 @@ describe Gitlab::Git do expect(described_class.ref_name(utf8_invalid_ref)).to eq("an_invalid_ref_å") end end + + describe '.shas_eql?' do + using RSpec::Parameterized::TableSyntax + + where(:sha1, :sha2, :result) do + sha = RepoHelpers.sample_commit.id + short_sha = sha[0, Gitlab::Git::Commit::MIN_SHA_LENGTH] + too_short_sha = sha[0, Gitlab::Git::Commit::MIN_SHA_LENGTH - 1] + + [ + [sha, sha, true], + [sha, short_sha, true], + [sha, sha.reverse, false], + [sha, too_short_sha, false], + [sha, nil, false] + ] + end + + with_them do + it { expect(described_class.shas_eql?(sha1, sha2)).to eq(result) } + it 'is commutative' do + expect(described_class.shas_eql?(sha2, sha1)).to eq(result) + end + end + end end |