diff options
Diffstat (limited to 'spec/models/pages_deployment_spec.rb')
-rw-r--r-- | spec/models/pages_deployment_spec.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/models/pages_deployment_spec.rb b/spec/models/pages_deployment_spec.rb index e83cbc15004..029eb8e513a 100644 --- a/spec/models/pages_deployment_spec.rb +++ b/spec/models/pages_deployment_spec.rb @@ -26,6 +26,46 @@ RSpec.describe PagesDeployment do end end + describe '.migrated_from_legacy_storage' do + it 'only returns migrated deployments' do + project = create(:project) + migrated_deployment = create_migrated_deployment(project) + # create one other deployment + create(:pages_deployment, project: project) + + expect(described_class.migrated_from_legacy_storage).to eq([migrated_deployment]) + end + end + + describe '#migrated?' do + it 'returns false for normal deployment' do + deployment = create(:pages_deployment) + + expect(deployment.migrated?).to eq(false) + end + + it 'returns true for migrated deployment' do + project = create(:project) + deployment = create_migrated_deployment(project) + + expect(deployment.migrated?).to eq(true) + end + end + + def create_migrated_deployment(project) + public_path = File.join(project.pages_path, "public") + FileUtils.mkdir_p(public_path) + File.open(File.join(project.pages_path, "public/index.html"), "w") do |f| + f.write("Hello!") + end + + expect(::Pages::MigrateLegacyStorageToDeploymentService.new(project).execute[:status]).to eq(:success) + + project.reload.pages_metadatum.pages_deployment + ensure + FileUtils.rm_rf(public_path) + end + describe 'default for file_store' do let(:project) { create(:project) } let(:deployment) do |