Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/container_repository_spec.rb')
-rw-r--r--spec/models/container_repository_spec.rb26
1 files changed, 24 insertions, 2 deletions
diff --git a/spec/models/container_repository_spec.rb b/spec/models/container_repository_spec.rb
index 9af53bae204..33d3cabb325 100644
--- a/spec/models/container_repository_spec.rb
+++ b/spec/models/container_repository_spec.rb
@@ -879,10 +879,11 @@ RSpec.describe ContainerRepository, :aggregate_failures do
it 'updates deletion status attributes' do
expect { subject }.to change(repository, :status).from(nil).to('delete_ongoing')
.and change(repository, :delete_started_at).from(nil).to(Time.zone.now)
+ .and change(repository, :status_updated_at).from(nil).to(Time.zone.now)
end
end
- describe '#set_delete_scheduled_status' do
+ describe '#set_delete_scheduled_status', :freeze_time do
let_it_be(:repository) { create(:container_repository, :status_delete_ongoing, delete_started_at: 3.minutes.ago) }
subject { repository.set_delete_scheduled_status }
@@ -890,6 +891,27 @@ RSpec.describe ContainerRepository, :aggregate_failures do
it 'updates delete attributes' do
expect { subject }.to change(repository, :status).from('delete_ongoing').to('delete_scheduled')
.and change(repository, :delete_started_at).to(nil)
+ .and change(repository, :status_updated_at).to(Time.zone.now)
+ end
+ end
+
+ describe '#status_updated_at', :freeze_time do
+ let_it_be_with_reload(:repository) { create(:container_repository) }
+
+ %i[delete_scheduled delete_ongoing delete_failed].each do |status|
+ context "when status is updated to #{status}" do
+ it 'updates status_changed_at' do
+ expect { repository.update!(status: status) }.to change(repository, :status_updated_at).from(nil).to(Time.zone.now)
+ end
+ end
+ end
+
+ context 'when status is not changed' do
+ it 'does not update status_changed_at' do
+ repository.name = 'different-image'
+
+ expect { repository.save! }.not_to change(repository, :status_updated_at)
+ end
end
end
@@ -1632,7 +1654,7 @@ RSpec.describe ContainerRepository, :aggregate_failures do
stub_application_setting(container_registry_import_target_plan: valid_container_repository.migration_plan)
end
- it 'works' do
+ it 'returns valid container repositories' do
expect(subject).to contain_exactly(valid_container_repository, valid_container_repository2)
end
end