Skip to content
Snippets Groups Projects
Commit cdcc11d4 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Improve tests for merge request diff model

parent afe28b7b
No related branches found
No related tags found
No related merge requests found
Loading
@@ -169,7 +169,7 @@ class MergeRequestDiff < ActiveRecord::Base
Loading
@@ -169,7 +169,7 @@ class MergeRequestDiff < ActiveRecord::Base
   
def compare_with(sha, straight = true) def compare_with(sha, straight = true)
# When compare merge request versions we want diff A..B instead of A...B # When compare merge request versions we want diff A..B instead of A...B
# so we handle cases when user squash and rebase commits in one of versions. # so we handle cases when user does squash and rebase of the commits between versions.
# For this reason we set straight to true by default. # For this reason we set straight to true by default.
CompareService.new.execute(project, head_commit_sha, project, sha, straight) CompareService.new.execute(project, head_commit_sha, project, sha, straight)
end end
Loading
Loading
Loading
@@ -74,27 +74,37 @@ describe MergeRequestDiff, models: true do
Loading
@@ -74,27 +74,37 @@ describe MergeRequestDiff, models: true do
end end
end end
end end
end
   
describe '#commits_sha' do describe '#commits_sha' do
shared_examples 'returning all commits SHA' do shared_examples 'returning all commits SHA' do
it 'returns all commits SHA' do it 'returns all commits SHA' do
commits_sha = subject.commits_sha commits_sha = subject.commits_sha
   
expect(commits_sha).to eq(subject.commits.map(&:sha)) expect(commits_sha).to eq(subject.commits.map(&:sha))
end
end end
end
   
context 'when commits were loaded' do context 'when commits were loaded' do
before do before do
subject.commits subject.commits
end
it_behaves_like 'returning all commits SHA'
end end
   
context 'when commits were not loaded' do it_behaves_like 'returning all commits SHA'
it_behaves_like 'returning all commits SHA' end
end
context 'when commits were not loaded' do
it_behaves_like 'returning all commits SHA'
end
end
describe '#compare_with' do
subject { create(:merge_request).merge_request_diff }
it 'delegates compare to the service' do
expect(CompareService).to receive(:new).and_call_original
subject.compare_with('ae73cb07c9eeaf35924a10f713b364d32b2dd34f')
end end
end end
end end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment