diff options
Diffstat (limited to 'spec/models/pages_deployment_spec.rb')
-rw-r--r-- | spec/models/pages_deployment_spec.rb | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/spec/models/pages_deployment_spec.rb b/spec/models/pages_deployment_spec.rb index 029eb8e513a..a27d836e2c2 100644 --- a/spec/models/pages_deployment_spec.rb +++ b/spec/models/pages_deployment_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe PagesDeployment do + let_it_be(:project) { create(:project) } + describe 'associations' do it { is_expected.to belong_to(:project).required } it { is_expected.to belong_to(:ci_build).optional } @@ -28,7 +30,6 @@ RSpec.describe PagesDeployment do 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) @@ -37,6 +38,27 @@ RSpec.describe PagesDeployment do end end + context 'with deployments stored locally and remotely' do + before do + stub_pages_object_storage(::Pages::DeploymentUploader) + end + + let!(:remote_deployment) { create(:pages_deployment, project: project, file_store: ::ObjectStorage::Store::REMOTE) } + let!(:local_deployment) { create(:pages_deployment, project: project, file_store: ::ObjectStorage::Store::LOCAL) } + + describe '.with_files_stored_locally' do + it 'only returns deployments with files stored locally' do + expect(described_class.with_files_stored_locally).to contain_exactly(local_deployment) + end + end + + describe '.with_files_stored_remotely' do + it 'only returns deployments with files stored remotely' do + expect(described_class.with_files_stored_remotely).to contain_exactly(remote_deployment) + end + end + end + describe '#migrated?' do it 'returns false for normal deployment' do deployment = create(:pages_deployment) @@ -45,7 +67,6 @@ RSpec.describe PagesDeployment do end it 'returns true for migrated deployment' do - project = create(:project) deployment = create_migrated_deployment(project) expect(deployment.migrated?).to eq(true) @@ -67,7 +88,6 @@ RSpec.describe PagesDeployment do end describe 'default for file_store' do - let(:project) { create(:project) } let(:deployment) do filepath = Rails.root.join("spec/fixtures/pages.zip") |