Merge pull request #2185 from consul/improve_consul_json_spec
Improve consul.json request spec
This commit is contained in:
@@ -3,47 +3,24 @@ require 'rails_helper'
|
|||||||
describe InstallationController, type: :request do
|
describe InstallationController, type: :request do
|
||||||
|
|
||||||
describe "consul.json" do
|
describe "consul.json" do
|
||||||
let(:feature_settings) do
|
let(:test_feature_settings) do
|
||||||
{
|
{
|
||||||
'debates' => nil,
|
'disabled_feature' => nil,
|
||||||
'spending_proposals' => 't',
|
'enabled_feature' => 't'
|
||||||
'polls' => nil,
|
|
||||||
'proposals' => 't',
|
|
||||||
'twitter_login' => nil,
|
|
||||||
'facebook_login' => nil,
|
|
||||||
'google_login' => nil,
|
|
||||||
'public_stats' => nil,
|
|
||||||
'budgets' => nil,
|
|
||||||
'signature_sheets' => nil,
|
|
||||||
'legislation' => nil,
|
|
||||||
'user.recommendations' => nil,
|
|
||||||
'community' => nil,
|
|
||||||
'map' => 't',
|
|
||||||
'spending_proposal_features.voting_allowed' => 't',
|
|
||||||
'allow_images' => 't'
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let(:seeds_feature_settings) { Setting.where("key LIKE 'feature.%'") }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
feature_settings.each { |feature_name, feature_value| Setting["feature.#{feature_name}"] = feature_value }
|
@current_feature_settings = seeds_feature_settings.pluck(:key, :value).to_h
|
||||||
|
seeds_feature_settings.destroy_all
|
||||||
|
test_feature_settings.each { |feature_name, feature_value| Setting["feature.#{feature_name}"] = feature_value }
|
||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
Setting['feature.debates'] = true
|
test_feature_settings.keys.each { |feature_name| Setting.find_by(key: "feature.#{feature_name}").destroy }
|
||||||
Setting['feature.spending_proposals'] = nil
|
@current_feature_settings.each { |feature_name, feature_value| Setting[feature_name] = feature_value }
|
||||||
Setting['feature.polls'] = true
|
|
||||||
Setting['feature.twitter_login'] = true
|
|
||||||
Setting['feature.facebook_login'] = true
|
|
||||||
Setting['feature.google_login'] = true
|
|
||||||
Setting['feature.public_stats'] = true
|
|
||||||
Setting['feature.budgets'] = true
|
|
||||||
Setting['feature.signature_sheets'] = true
|
|
||||||
Setting['feature.legislation'] = true
|
|
||||||
Setting['feature.user.recommendations'] = true
|
|
||||||
Setting['feature.community'] = true
|
|
||||||
Setting['feature.map'] = nil
|
|
||||||
Setting['feature.spending_proposal_features.voting_allowed'] = nil
|
|
||||||
Setting['feature.allow_images'] = true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "with query string inside query params" do
|
specify "with query string inside query params" do
|
||||||
@@ -51,7 +28,7 @@ describe InstallationController, type: :request do
|
|||||||
|
|
||||||
expect(response).to have_http_status(:ok)
|
expect(response).to have_http_status(:ok)
|
||||||
expect(JSON.parse(response.body)['release']).not_to be_empty
|
expect(JSON.parse(response.body)['release']).not_to be_empty
|
||||||
expect(JSON.parse(response.body)['features']).to eq(feature_settings)
|
expect(JSON.parse(response.body)['features']).to eq(test_feature_settings)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user