Add and apply RepeatedExampleGroupDescription rule
This rule was added in rubocop-rspec 1.38.0. Thanks to it we've detected we had one method tested in two different places.
This commit is contained in:
@@ -368,6 +368,9 @@ RSpec/RepeatedExample:
|
||||
RSpec/RepeatedExampleGroupBody:
|
||||
Enabled: true
|
||||
|
||||
RSpec/RepeatedExampleGroupDescription:
|
||||
Enabled: true
|
||||
|
||||
RSpec/ScatteredLet:
|
||||
Enabled: true
|
||||
|
||||
|
||||
@@ -408,10 +408,9 @@ describe Budget::Investment do
|
||||
end
|
||||
end
|
||||
|
||||
describe "scoped_filter" do
|
||||
let!(:budget) { create(:budget, slug: "budget_slug") }
|
||||
let!(:heading) { create(:budget_heading, budget: budget) }
|
||||
let!(:investment) { create(:budget_investment, :feasible, heading: heading) }
|
||||
describe ".scoped_filter" do
|
||||
let(:budget) { create(:budget, :balloting, slug: "budget_slug") }
|
||||
let(:investment) { create(:budget_investment, budget: budget) }
|
||||
|
||||
it "finds budget by id or slug" do
|
||||
results = Budget::Investment.scoped_filter({ budget_id: budget.id }, nil)
|
||||
@@ -427,6 +426,74 @@ describe Budget::Investment do
|
||||
result = Budget::Investment.scoped_filter({ budget_id: "wrong_budget" }, nil)
|
||||
expect(result).to be_empty
|
||||
end
|
||||
|
||||
describe "with without_admin filter" do
|
||||
let(:params) { { advanced_filters: ["without_admin"], budget_id: budget.id } }
|
||||
it "returns only investment without admin" do
|
||||
create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
investment2 = create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment2])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with without_valuator filter" do
|
||||
let(:params) { { advanced_filters: ["without_valuator"], budget_id: budget.id } }
|
||||
it "returns only investment without valuator" do
|
||||
create(:budget_investment,
|
||||
:with_valuator,
|
||||
budget: budget)
|
||||
investment2 = create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
investment3 = create(:budget_investment,
|
||||
budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all"))
|
||||
.to contain_exactly(investment2, investment3)
|
||||
end
|
||||
end
|
||||
|
||||
describe "with under_valuation filter" do
|
||||
let(:params) { { advanced_filters: ["under_valuation"], budget_id: budget.id } }
|
||||
it "returns only investment under valuation" do
|
||||
investment1 = create(:budget_investment, :with_administrator, :open, :with_valuator,
|
||||
budget: budget)
|
||||
create(:budget_investment, :with_administrator, budget: budget)
|
||||
create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with valuation_finished filter" do
|
||||
let(:params) { { advanced_filters: ["valuation_finished"], budget_id: budget.id } }
|
||||
it "returns only investment with valuation finished" do
|
||||
investment1 = create(:budget_investment,
|
||||
:selected,
|
||||
budget: budget)
|
||||
create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
create(:budget_investment,
|
||||
budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with winners filter" do
|
||||
let(:params) { { advanced_filters: ["winners"], budget_id: budget.id } }
|
||||
it "returns only investment winners" do
|
||||
investment1 = create(:budget_investment, :winner, :finished, budget: budget)
|
||||
create(:budget_investment, :with_administrator, budget: budget)
|
||||
create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "scopes" do
|
||||
@@ -1232,79 +1299,6 @@ describe Budget::Investment do
|
||||
end
|
||||
end
|
||||
|
||||
describe "scoped_filter" do
|
||||
let(:budget) { create(:budget, :balloting) }
|
||||
let(:investment) { create(:budget_investment, budget: budget) }
|
||||
|
||||
describe "with without_admin filter" do
|
||||
let(:params) { { advanced_filters: ["without_admin"], budget_id: budget.id } }
|
||||
it "returns only investment without admin" do
|
||||
create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
investment2 = create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment2])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with without_valuator filter" do
|
||||
let(:params) { { advanced_filters: ["without_valuator"], budget_id: budget.id } }
|
||||
it "returns only investment without valuator" do
|
||||
create(:budget_investment,
|
||||
:with_valuator,
|
||||
budget: budget)
|
||||
investment2 = create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
investment3 = create(:budget_investment,
|
||||
budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all"))
|
||||
.to contain_exactly(investment2, investment3)
|
||||
end
|
||||
end
|
||||
|
||||
describe "with under_valuation filter" do
|
||||
let(:params) { { advanced_filters: ["under_valuation"], budget_id: budget.id } }
|
||||
it "returns only investment under valuation" do
|
||||
investment1 = create(:budget_investment, :with_administrator, :open, :with_valuator,
|
||||
budget: budget)
|
||||
create(:budget_investment, :with_administrator, budget: budget)
|
||||
create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with valuation_finished filter" do
|
||||
let(:params) { { advanced_filters: ["valuation_finished"], budget_id: budget.id } }
|
||||
it "returns only investment with valuation finished" do
|
||||
investment1 = create(:budget_investment,
|
||||
:selected,
|
||||
budget: budget)
|
||||
create(:budget_investment,
|
||||
:with_administrator,
|
||||
budget: budget)
|
||||
create(:budget_investment,
|
||||
budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
|
||||
describe "with winners filter" do
|
||||
let(:params) { { advanced_filters: ["winners"], budget_id: budget.id } }
|
||||
it "returns only investment winners" do
|
||||
investment1 = create(:budget_investment, :winner, :finished, budget: budget)
|
||||
create(:budget_investment, :with_administrator, budget: budget)
|
||||
create(:budget_investment, budget: budget)
|
||||
|
||||
expect(Budget::Investment.scoped_filter(params, "all")).to eq([investment1])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "admin_and_valuator_users_associated" do
|
||||
let(:investment) { create(:budget_investment) }
|
||||
let(:valuator_group) { create(:valuator_group) }
|
||||
|
||||
Reference in New Issue
Block a user