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