Add some specs for Repository#revert.
This commit is contained in:
parent
0c116d8ed6
commit
d9e0191592
|
@ -656,7 +656,7 @@ class Repository
|
||||||
|
|
||||||
def revert(user, commit, base_branch, revert_tree_id = nil)
|
def revert(user, commit, base_branch, revert_tree_id = nil)
|
||||||
source_sha = find_branch(base_branch).target
|
source_sha = find_branch(base_branch).target
|
||||||
revert_tree_id = check_revert_content(commit, base_branch) unless revert_tree_id
|
revert_tree_id ||= check_revert_content(commit, base_branch)
|
||||||
|
|
||||||
return false unless revert_tree_id
|
return false unless revert_tree_id
|
||||||
|
|
||||||
|
|
|
@ -457,13 +457,40 @@ describe Repository, models: true do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#revert_merge' do
|
describe '#revert' do
|
||||||
it 'should revert the changes' do
|
let(:new_image_commit) { repository.commit('33f3729a45c02fc67d00adb1b8bca394b0e761d9') }
|
||||||
repository.revert(user, merge_commit, 'master')
|
let(:update_image_commit) { repository.commit('2f63565e7aac07bcdadb654e253078b727143ec4') }
|
||||||
|
|
||||||
|
context 'when there is a conflict' do
|
||||||
|
it 'should abort the operation' do
|
||||||
|
expect(repository.revert(user, new_image_commit, 'master')).to eq(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when commit was already reverted' do
|
||||||
|
it 'should abort the operation' do
|
||||||
|
repository.revert(user, update_image_commit, 'master')
|
||||||
|
|
||||||
|
expect(repository.revert(user, update_image_commit, 'master')).to eq(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when commit can be reverted' do
|
||||||
|
it 'should revert the changes' do
|
||||||
|
expect(repository.revert(user, update_image_commit, 'master')).to be_truthy
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'reverting a merge commit' do
|
||||||
|
it 'should revert the changes' do
|
||||||
|
merge_commit
|
||||||
|
expect(repository.blob_at_branch('master', 'files/ruby/feature.rb')).to be_present
|
||||||
|
|
||||||
|
repository.revert(user, merge_commit, 'master')
|
||||||
expect(repository.blob_at_branch('master', 'files/ruby/feature.rb')).not_to be_present
|
expect(repository.blob_at_branch('master', 'files/ruby/feature.rb')).not_to be_present
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '#before_delete' do
|
describe '#before_delete' do
|
||||||
describe 'when a repository does not exist' do
|
describe 'when a repository does not exist' do
|
||||||
|
|
Loading…
Reference in New Issue