Commit 3e7c4a91 authored by Gabriel Mazetto's avatar Gabriel Mazetto

Backport EE changes to make test possible when prepending modules

parent de63b9c3
......@@ -17,6 +17,10 @@ module Projects
move_folder!(old_path, new_path)
project.save!
if block_given?
yield
end
end
private
......
......@@ -37,7 +37,11 @@ module Projects
project.repository_read_only = false
project.save!
block_given? ? yield : result
if result && block_given?
yield
end
result
end
private
......
......@@ -6,32 +6,36 @@ describe Projects::HashedStorageMigrationService do
describe '#execute' do
context 'repository migration' do
let(:repository_service) { Projects::HashedStorage::MigrateRepositoryService.new(project, subject.logger) }
it 'delegates migration to Projects::HashedStorage::MigrateRepositoryService' do
expect(Projects::HashedStorage::MigrateRepositoryService).to receive(:new).with(project, subject.logger).and_call_original
expect_any_instance_of(Projects::HashedStorage::MigrateRepositoryService).to receive(:execute)
expect(Projects::HashedStorage::MigrateRepositoryService).to receive(:new).with(project, subject.logger).and_return(repository_service)
expect(repository_service).to receive(:execute)
service.execute
end
it 'does not delegate migration if repository is already migrated' do
project.storage_version = ::Project::LATEST_STORAGE_VERSION
expect_any_instance_of(Projects::HashedStorage::MigrateRepositoryService).not_to receive(:execute)
expect(Projects::HashedStorage::MigrateRepositoryService).not_to receive(:new)
service.execute
end
end
context 'attachments migration' do
let(:attachments_service) { Projects::HashedStorage::MigrateAttachmentsService.new(project, subject.logger) }
it 'delegates migration to Projects::HashedStorage::MigrateRepositoryService' do
expect(Projects::HashedStorage::MigrateAttachmentsService).to receive(:new).with(project, subject.logger).and_call_original
expect_any_instance_of(Projects::HashedStorage::MigrateAttachmentsService).to receive(:execute)
expect(Projects::HashedStorage::MigrateAttachmentsService).to receive(:new).with(project, subject.logger).and_return(attachments_service)
expect(attachments_service).to receive(:execute)
service.execute
end
it 'does not delegate migration if attachments are already migrated' do
project.storage_version = ::Project::LATEST_STORAGE_VERSION
expect_any_instance_of(Projects::HashedStorage::MigrateAttachmentsService).not_to receive(:execute)
expect(Projects::HashedStorage::MigrateAttachmentsService).not_to receive(:new)
service.execute
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment