Cleanup Settings values modified after specs are run

This commit is contained in:
Bertocq
2017-05-30 00:55:53 +02:00
parent 16edbf15a2
commit 798b646135
23 changed files with 109 additions and 14 deletions

View File

@@ -22,6 +22,10 @@ describe DebatesController do
end end
describe "Vote with too many anonymous votes" do describe "Vote with too many anonymous votes" do
after do
Setting['max_ratio_anon_votes_on_debates'] = 50
end
it 'should allow vote if user is allowed' do it 'should allow vote if user is allowed' do
Setting["max_ratio_anon_votes_on_debates"] = 100 Setting["max_ratio_anon_votes_on_debates"] = 100
debate = create(:debate) debate = create(:debate)

View File

@@ -11,8 +11,15 @@ feature 'Admin budget investments' do
context "Feature flag" do context "Feature flag" do
scenario 'Disabled with a feature flag' do background do
Setting['feature.budgets'] = nil Setting['feature.budgets'] = nil
end
after do
Setting['feature.budgets'] = true
end
scenario 'Disabled with a feature flag' do
expect{ visit admin_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit admin_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled)
end end

View File

@@ -9,8 +9,15 @@ feature 'Admin budgets' do
context 'Feature flag' do context 'Feature flag' do
scenario 'Disabled with a feature flag' do background do
Setting['feature.budgets'] = nil Setting['feature.budgets'] = nil
end
after do
Setting['feature.budgets'] = true
end
scenario 'Disabled with a feature flag' do
expect{ visit admin_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit admin_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled)
end end

View File

@@ -8,6 +8,8 @@ feature 'Admin debates' do
login_as(admin.user) login_as(admin.user)
expect{ visit admin_debates_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit admin_debates_path }.to raise_exception(FeatureFlags::FeatureDisabled)
Setting['feature.debates'] = true
end end
background do background do
@@ -91,4 +93,4 @@ feature 'Admin debates' do
expect(current_url).to include('page=2') expect(current_url).to include('page=2')
end end
end end

View File

@@ -3,11 +3,17 @@ require 'rails_helper'
feature 'Admin feature flags' do feature 'Admin feature flags' do
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
login_as(create(:administrator).user) login_as(create(:administrator).user)
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
scenario 'Enabled features are listed on menu' do scenario 'Enabled features are listed on menu' do
visit admin_root_path visit admin_root_path
@@ -65,4 +71,4 @@ feature 'Admin feature flags' do
end end
end end
end end

View File

@@ -9,6 +9,11 @@ feature 'Admin spending proposals' do
login_as(admin.user) login_as(admin.user)
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
context "Feature flag" do context "Feature flag" do
scenario 'Disabled with a feature flag' do scenario 'Disabled with a feature flag' do
@@ -671,4 +676,4 @@ feature 'Admin spending proposals' do
end end
end end

View File

@@ -74,6 +74,8 @@ feature 'Admin' do
expect(page).to have_link('Moderation') expect(page).to have_link('Moderation')
expect(page).to have_link('Valuation') expect(page).to have_link('Valuation')
expect(page).to have_link('Management') expect(page).to have_link('Management')
Setting['feature.spending_proposals'] = nil
end end
scenario 'Admin dashboard' do scenario 'Admin dashboard' do

View File

@@ -6,6 +6,7 @@ feature 'Debates' do
scenario 'Disabled with a feature flag' do scenario 'Disabled with a feature flag' do
Setting['feature.debates'] = nil Setting['feature.debates'] = nil
expect{ visit debates_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit debates_path }.to raise_exception(FeatureFlags::FeatureDisabled)
Setting['feature.debates'] = true
end end
scenario 'Index' do scenario 'Index' do

View File

@@ -148,6 +148,8 @@ feature 'Emails' do
expect(email).to have_body_text(spending_proposal.title) expect(email).to have_body_text(spending_proposal.title)
expect(email).to have_body_text(spending_proposal.code) expect(email).to have_body_text(spending_proposal.code)
expect(email).to have_body_text(spending_proposal.feasible_explanation) expect(email).to have_body_text(spending_proposal.feasible_explanation)
Setting["feature.spending_proposals"] = nil
end end
context "Direct Message" do context "Direct Message" do

View File

@@ -3,11 +3,16 @@ require 'rails_helper'
feature 'Spending Proposals' do feature 'Spending Proposals' do
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
login_as_manager login_as_manager
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
context "Create" do context "Create" do
scenario 'Creating spending proposals on behalf of someone' do scenario 'Creating spending proposals on behalf of someone' do

View File

@@ -8,6 +8,8 @@ feature 'Moderate debates' do
login_as(moderator.user) login_as(moderator.user)
expect{ visit moderation_debates_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit moderation_debates_path }.to raise_exception(FeatureFlags::FeatureDisabled)
Setting['feature.debates'] = true
end end
scenario 'Hide', :js do scenario 'Hide', :js do

View File

@@ -78,6 +78,10 @@ feature 'Official positions' do
@spending_proposal2 = create(:spending_proposal, author: @user2) @spending_proposal2 = create(:spending_proposal, author: @user2)
end end
after do
Setting["feature.spending_proposals"] = nil
end
scenario "Index" do scenario "Index" do
visit spending_proposals_path visit spending_proposals_path
@@ -95,4 +99,4 @@ feature 'Official positions' do
end end
end end
end end

View File

@@ -536,6 +536,7 @@ feature 'Proposals' do
expect(current_path).not_to eq(edit_proposal_path(proposal)) expect(current_path).not_to eq(edit_proposal_path(proposal))
expect(current_path).to eq(proposals_path) expect(current_path).to eq(proposals_path)
expect(page).to have_content 'You do not have permission' expect(page).to have_content 'You do not have permission'
Setting["max_votes_for_proposal_edit"] = 1000
end end
scenario 'Update should be posible for the author of an editable proposal' do scenario 'Update should be posible for the author of an editable proposal' do

View File

@@ -5,10 +5,15 @@ feature 'Spending proposals' do
let(:author) { create(:user, :level_two, username: 'Isabel') } let(:author) { create(:user, :level_two, username: 'Isabel') }
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
scenario 'Index' do scenario 'Index' do
spending_proposals = [create(:spending_proposal), create(:spending_proposal), create(:spending_proposal, feasible: true)] spending_proposals = [create(:spending_proposal), create(:spending_proposal), create(:spending_proposal, feasible: true)]
unfeasible_spending_proposal = create(:spending_proposal, feasible: false) unfeasible_spending_proposal = create(:spending_proposal, feasible: false)

View File

@@ -252,6 +252,9 @@ feature 'Users' do
Setting['feature.budgets'] = nil Setting['feature.budgets'] = nil
visit user_path(user) visit user_path(user)
expect(page).to have_content('4 Comments') expect(page).to have_content('4 Comments')
Setting['feature.debates'] = true
Setting['feature.budgets'] = true
end end
end end

View File

@@ -11,6 +11,8 @@ feature 'Valuation budget investments' do
scenario 'Disabled with a feature flag' do scenario 'Disabled with a feature flag' do
Setting['feature.budgets'] = nil Setting['feature.budgets'] = nil
expect{ visit valuation_budget_budget_investments_path(create(:budget)) }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit valuation_budget_budget_investments_path(create(:budget)) }.to raise_exception(FeatureFlags::FeatureDisabled)
Setting['feature.budgets'] = true
end end
scenario 'Display link to valuation section' do scenario 'Display link to valuation section' do

View File

@@ -10,6 +10,8 @@ feature 'Valuation budgets' do
scenario 'Disabled with a feature flag' do scenario 'Disabled with a feature flag' do
Setting['feature.budgets'] = nil Setting['feature.budgets'] = nil
expect{ visit valuation_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit valuation_budgets_path }.to raise_exception(FeatureFlags::FeatureDisabled)
Setting['feature.budgets'] = true
end end
context 'Index' do context 'Index' do

View File

@@ -3,12 +3,17 @@ require 'rails_helper'
feature 'Valuation spending proposals' do feature 'Valuation spending proposals' do
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
@valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@valuators.org')) @valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@valuators.org'))
login_as(@valuator.user) login_as(@valuator.user)
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
scenario 'Disabled with a feature flag' do scenario 'Disabled with a feature flag' do
Setting['feature.spending_proposals'] = nil Setting['feature.spending_proposals'] = nil
expect{ visit valuation_spending_proposals_path }.to raise_exception(FeatureFlags::FeatureDisabled) expect{ visit valuation_spending_proposals_path }.to raise_exception(FeatureFlags::FeatureDisabled)

View File

@@ -4,10 +4,15 @@ feature 'Valuation' do
let(:user) { create(:user) } let(:user) { create(:user) }
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
scenario 'Access as regular user is not authorized' do scenario 'Access as regular user is not authorized' do
login_as(user) login_as(user)
visit root_path visit root_path

View File

@@ -364,11 +364,16 @@ feature 'Votes' do
feature 'Spending Proposals' do feature 'Spending Proposals' do
background do background do
Setting["feature.spending_proposals"] = true Setting['feature.spending_proposals'] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
login_as(@manuela) login_as(@manuela)
end end
after do
Setting['feature.spending_proposals'] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
feature 'Index' do feature 'Index' do
scenario "Index shows user votes on proposals" do scenario "Index shows user votes on proposals" do
spending_proposal1 = create(:spending_proposal) spending_proposal1 = create(:spending_proposal)

View File

@@ -84,6 +84,7 @@ describe Debate do
describe "#editable?" do describe "#editable?" do
let(:debate) { create(:debate) } let(:debate) { create(:debate) }
before(:each) { Setting["max_votes_for_debate_edit"] = 3 } before(:each) { Setting["max_votes_for_debate_edit"] = 3 }
after(:each) { Setting["max_votes_for_debate_edit"] = 1000 }
it "should be true if debate has no votes yet" do it "should be true if debate has no votes yet" do
expect(debate.total_votes).to eq(0) expect(debate.total_votes).to eq(0)
@@ -106,6 +107,7 @@ describe Debate do
describe "#editable_by?" do describe "#editable_by?" do
let(:debate) { create(:debate) } let(:debate) { create(:debate) }
before(:each) { Setting["max_votes_for_debate_edit"] = 1 } before(:each) { Setting["max_votes_for_debate_edit"] = 1 }
after(:each) { Setting["max_votes_for_debate_edit"] = 1000 }
it "should be true if user is the author and debate is editable" do it "should be true if user is the author and debate is editable" do
expect(debate.editable_by?(debate.author)).to be true expect(debate.editable_by?(debate.author)).to be true

View File

@@ -138,11 +138,14 @@ describe Proposal do
Setting["proposal_code_prefix"] = "TEST" Setting["proposal_code_prefix"] = "TEST"
proposal = create(:proposal) proposal = create(:proposal)
expect(proposal.code).to eq "TEST-#{proposal.created_at.strftime('%Y-%m')}-#{proposal.id}" expect(proposal.code).to eq "TEST-#{proposal.created_at.strftime('%Y-%m')}-#{proposal.id}"
Setting["proposal_code_prefix"] = "MAD"
end end
describe "#editable?" do describe "#editable?" do
let(:proposal) { create(:proposal) } let(:proposal) { create(:proposal) }
before(:each) {Setting["max_votes_for_proposal_edit"] = 5} before(:each) {Setting["max_votes_for_proposal_edit"] = 5}
after(:each) {Setting["max_votes_for_proposal_edit"] = 1000}
it "should be true if proposal has no votes yet" do it "should be true if proposal has no votes yet" do
expect(proposal.total_votes).to eq(0) expect(proposal.total_votes).to eq(0)

View File

@@ -290,11 +290,16 @@ describe SpendingProposal do
let(:city_sp) { create(:spending_proposal) } let(:city_sp) { create(:spending_proposal) }
let(:district_sp) { create(:spending_proposal, geozone: district) } let(:district_sp) { create(:spending_proposal, geozone: district) }
before(:each) do before do
Setting["feature.spending_proposals"] = true Setting["feature.spending_proposals"] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
end end
after do
Setting["feature.spending_proposals"] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
describe '#reason_for_not_being_votable_by' do describe '#reason_for_not_being_votable_by' do
it "rejects not logged in users" do it "rejects not logged in users" do
expect(city_sp.reason_for_not_being_votable_by(nil)).to eq(:not_logged_in) expect(city_sp.reason_for_not_being_votable_by(nil)).to eq(:not_logged_in)
@@ -327,6 +332,8 @@ describe SpendingProposal do
Setting["feature.spending_proposal_features.voting_allowed"] = true Setting["feature.spending_proposal_features.voting_allowed"] = true
expect(city_sp.reason_for_not_being_votable_by(user)).to be_nil expect(city_sp.reason_for_not_being_votable_by(user)).to be_nil
expect(district_sp.reason_for_not_being_votable_by(user)).to be_nil expect(district_sp.reason_for_not_being_votable_by(user)).to be_nil
Setting["feature.spending_proposal_features.voting_allowed"] = nil
end end
end end
end end
@@ -348,9 +355,17 @@ describe SpendingProposal do
end end
describe "total votes" do describe "total votes" do
it "takes into account physical votes in addition to web votes" do before do
Setting["feature.spending_proposals"] = true Setting["feature.spending_proposals"] = true
Setting['feature.spending_proposal_features.voting_allowed'] = true Setting['feature.spending_proposal_features.voting_allowed'] = true
end
after do
Setting["feature.spending_proposals"] = nil
Setting['feature.spending_proposal_features.voting_allowed'] = nil
end
it "takes into account physical votes in addition to web votes" do
sp = create(:spending_proposal) sp = create(:spending_proposal)
sp.register_vote(create(:user, :level_two), true) sp.register_vote(create(:user, :level_two), true)