35 lines
1,003 B
Ruby
35 lines
1,003 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
require_migration!
|
|
|
|
RSpec.describe FixUpdateImportSourcesOnApplicationSettings, feature_category: :importers do
|
|
let(:settings) { table(:application_settings) }
|
|
let(:import_sources) { %w[github git bitbucket bitbucket_server] }
|
|
|
|
describe "#up" do
|
|
shared_examples 'fixes import_sources on application_settings' do
|
|
it 'ensures YAML is stored' do
|
|
record = settings.create!(import_sources: data)
|
|
|
|
migrate!
|
|
|
|
expect(record.reload.import_sources).to start_with('---')
|
|
expect(ApplicationSetting.last.import_sources).to eq(import_sources)
|
|
end
|
|
end
|
|
|
|
context 'when import_sources is a String' do
|
|
let(:data) { import_sources.to_s }
|
|
|
|
it_behaves_like 'fixes import_sources on application_settings'
|
|
end
|
|
|
|
context 'when import_sources is already YAML' do
|
|
let(:data) { import_sources.to_yaml }
|
|
|
|
it_behaves_like 'fixes import_sources on application_settings'
|
|
end
|
|
end
|
|
end
|