summaryrefslogtreecommitdiff
path: root/spec/migrations
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-07-20 12:42:01 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-07-20 12:42:01 +0200
commit9c10683b01f9b32275a04bf9ed4e84795a527db7 (patch)
tree534423909af0d036eb2973cb97b3d95e672a5c75 /spec/migrations
parent54efa041d70707eb28326bb23220ebe8d6efb8aa (diff)
parent001dd56e7bfd04d22f5437569ba8aa60a0317a3e (diff)
downloadgitlab-ce-9c10683b01f9b32275a04bf9ed4e84795a527db7.tar.gz
Merge branch 'master' into backstage/gb/migrate-stages-statuses
* master: Fix background migration cleanup specs Fix JS; make buttons sr accessibile; fix overlay Isolate stage_id reference clean up migration Fix eslint Make sidebar accessible on mobile Add mobile navigation on project page Fix database schema version number Fix background migrations module specs Remove migration dependency from stage_id migration Remove obsolete argument from bg migrations code Add specs for stage_id reference cleanup migration Add pending set of specs for stage_id cleanup migration Rename stage_id reference clean up migration Implement build stage_id reference migration clean up
Diffstat (limited to 'spec/migrations')
-rw-r--r--spec/migrations/clean_stage_id_reference_migration_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/migrations/clean_stage_id_reference_migration_spec.rb b/spec/migrations/clean_stage_id_reference_migration_spec.rb
new file mode 100644
index 00000000000..9a581df28a2
--- /dev/null
+++ b/spec/migrations/clean_stage_id_reference_migration_spec.rb
@@ -0,0 +1,34 @@
+require 'spec_helper'
+require Rails.root.join('db', 'migrate', '20170710083355_clean_stage_id_reference_migration.rb')
+
+describe CleanStageIdReferenceMigration, :migration, :sidekiq, :redis do
+ let(:migration_class) { 'MigrateBuildStageIdReference' }
+ let(:migration) { spy('migration') }
+
+ before do
+ allow(Gitlab::BackgroundMigration.const_get(migration_class))
+ .to receive(:new).and_return(migration)
+ end
+
+ context 'when there are pending background migrations' do
+ it 'processes pending jobs synchronously' do
+ Sidekiq::Testing.disable! do
+ BackgroundMigrationWorker.perform_in(2.minutes, migration_class, [1, 1])
+ BackgroundMigrationWorker.perform_async(migration_class, [1, 1])
+
+ migrate!
+
+ expect(migration).to have_received(:perform).with(1, 1).twice
+ end
+ end
+ end
+ context 'when there are no background migrations pending' do
+ it 'does nothing' do
+ Sidekiq::Testing.disable! do
+ migrate!
+
+ expect(migration).not_to have_received(:perform)
+ end
+ end
+ end
+end