debian-mirror-gitlab/spec/migrations/backfill_operations_feature_flags_active_spec.rb

53 lines
1.4 KiB
Ruby
Raw Normal View History

2020-03-13 15:44:24 +05:30
# frozen_string_literal: true
require 'spec_helper'
2021-09-04 01:27:46 +05:30
require_migration!
2020-03-13 15:44:24 +05:30
2020-07-28 23:09:34 +05:30
RSpec.describe BackfillOperationsFeatureFlagsActive do
2020-03-13 15:44:24 +05:30
let(:namespaces) { table(:namespaces) }
let(:projects) { table(:projects) }
let(:flags) { table(:operations_feature_flags) }
def setup
namespace = namespaces.create!(name: 'foo', path: 'foo')
2021-04-29 21:17:54 +05:30
projects.create!(namespace_id: namespace.id)
2020-03-13 15:44:24 +05:30
end
it 'executes successfully when there are no flags in the table' do
setup
disable_migrations_output { migrate! }
expect(flags.count).to eq(0)
end
it 'updates active to true' do
project = setup
flag = flags.create!(project_id: project.id, name: 'test_flag', active: false)
disable_migrations_output { migrate! }
expect(flag.reload.active).to eq(true)
end
it 'updates active to true for multiple flags' do
project = setup
flag_a = flags.create!(project_id: project.id, name: 'test_flag', active: false)
flag_b = flags.create!(project_id: project.id, name: 'other_flag', active: false)
disable_migrations_output { migrate! }
expect(flag_a.reload.active).to eq(true)
expect(flag_b.reload.active).to eq(true)
end
it 'leaves active true if it is already true' do
project = setup
flag = flags.create!(project_id: project.id, name: 'test_flag', active: true)
disable_migrations_output { migrate! }
expect(flag.reload.active).to eq(true)
end
end