41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe InstallationController, type: :request do
|
|
|
|
describe "consul.json" do
|
|
let(:test_feature_settings) do
|
|
{
|
|
'disabled_feature' => nil,
|
|
'enabled_feature' => 't'
|
|
}
|
|
end
|
|
|
|
let(:seeds_feature_settings) { Setting.where("key LIKE 'feature.%'") }
|
|
|
|
before do
|
|
@current_feature_settings = seeds_feature_settings.pluck(:key, :value).to_h
|
|
seeds_feature_settings.destroy_all
|
|
test_feature_settings.each do |feature_name, feature_value|
|
|
Setting["feature.#{feature_name}"] = feature_value
|
|
end
|
|
end
|
|
|
|
after do
|
|
test_feature_settings.each_key do |feature_name|
|
|
Setting.find_by(key: "feature.#{feature_name}").destroy
|
|
end
|
|
@current_feature_settings.each do |feature_name, feature_value|
|
|
Setting[feature_name] = feature_value
|
|
end
|
|
end
|
|
|
|
specify "with query string inside query params" do
|
|
get '/consul.json'
|
|
|
|
expect(response).to have_http_status(:ok)
|
|
expect(JSON.parse(response.body)['release']).not_to be_empty
|
|
expect(JSON.parse(response.body)['features']).to eq(test_feature_settings)
|
|
end
|
|
end
|
|
end
|