From 684d65316ac77c62f47d68b9926eea8af30db227 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 2 Apr 2020 12:08:18 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/serializers/diffs_entity_spec.rb | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'spec/serializers') diff --git a/spec/serializers/diffs_entity_spec.rb b/spec/serializers/diffs_entity_spec.rb index bb4ac5f9608..b42240037df 100644 --- a/spec/serializers/diffs_entity_spec.rb +++ b/spec/serializers/diffs_entity_spec.rb @@ -26,5 +26,47 @@ describe DiffsEntity do :merge_request_diffs, :definition_path_prefix ) end + + context "when a commit_id is passed" do + let(:commits) { merge_request.commits } + let(:entity) do + described_class.new( + merge_request_diffs.first.diffs, + request: request, + merge_request: merge_request, + merge_request_diffs: merge_request_diffs, + commit: commit + ) + end + + subject { entity.as_json } + + context "when the passed commit is not the first or last in the group" do + let(:commit) { commits.third } + + it 'includes commit references for previous and next' do + expect(subject[:commit][:prev_commit_id]).to eq(commits.second.id) + expect(subject[:commit][:next_commit_id]).to eq(commits.fourth.id) + end + end + + context "when the passed commit is the first in the group" do + let(:commit) { commits.first } + + it 'includes commit references for nil and next' do + expect(subject[:commit][:prev_commit_id]).to be_nil + expect(subject[:commit][:next_commit_id]).to eq(commits.second.id) + end + end + + context "when the passed commit is the last in the group" do + let(:commit) { commits.last } + + it 'includes commit references for previous and nil' do + expect(subject[:commit][:prev_commit_id]).to eq(commits[-2].id) + expect(subject[:commit][:next_commit_id]).to be_nil + end + end + end end end -- cgit v1.2.3