From 52e54363ae26e2debf3c9abca49f7d9daff9df9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 23 Sep 2019 05:47:58 +0200 Subject: [PATCH] Add trait to create a poll associated to a budget --- spec/factories/polls.rb | 4 ++++ spec/features/budget_polls/ballot_sheets_spec.rb | 3 +-- spec/features/budget_polls/budgets_spec.rb | 3 +-- spec/features/budget_polls/polls_spec.rb | 4 ++-- spec/features/budget_polls/questions_spec.rb | 4 +--- spec/models/poll/ballot_sheet_spec.rb | 3 +-- spec/models/poll/poll_spec.rb | 4 +--- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/spec/factories/polls.rb b/spec/factories/polls.rb index a3c5fb761..2237b1a2a 100644 --- a/spec/factories/polls.rb +++ b/spec/factories/polls.rb @@ -34,6 +34,10 @@ FactoryBot.define do trait :hidden do hidden_at { Time.current } end + + trait :for_budget do + association :budget + end end factory :poll_question, class: "Poll::Question" do diff --git a/spec/features/budget_polls/ballot_sheets_spec.rb b/spec/features/budget_polls/ballot_sheets_spec.rb index 5e17fc2d9..532b29035 100644 --- a/spec/features/budget_polls/ballot_sheets_spec.rb +++ b/spec/features/budget_polls/ballot_sheets_spec.rb @@ -1,8 +1,7 @@ require "rails_helper" describe "Poll budget ballot sheets" do - let(:budget) { create(:budget) } - let(:poll) { create(:poll, budget: budget, ends_at: 1.day.ago) } + let(:poll) { create(:poll, :for_budget, ends_at: 1.day.ago) } let(:booth) { create(:poll_booth) } let(:poll_officer) { create(:poll_officer) } diff --git a/spec/features/budget_polls/budgets_spec.rb b/spec/features/budget_polls/budgets_spec.rb index 545bebae2..c70cfa94d 100644 --- a/spec/features/budget_polls/budgets_spec.rb +++ b/spec/features/budget_polls/budgets_spec.rb @@ -60,8 +60,7 @@ describe "Admin Budgets" do context "Show" do scenario "Do not show questions section if the budget have a poll associated" do - budget = create(:budget) - poll = create(:poll, budget: budget) + poll = create(:poll, :for_budget) visit admin_poll_path(poll) diff --git a/spec/features/budget_polls/polls_spec.rb b/spec/features/budget_polls/polls_spec.rb index bc394bad9..49916a7b4 100644 --- a/spec/features/budget_polls/polls_spec.rb +++ b/spec/features/budget_polls/polls_spec.rb @@ -6,7 +6,7 @@ describe "Polls" do scenario "Budget polls should not be listed" do poll = create(:poll) - budget_poll = create(:poll, budget: create(:budget)) + budget_poll = create(:poll, :for_budget) visit polls_path @@ -22,7 +22,7 @@ describe "Polls" do login_as(create(:administrator).user) poll = create(:poll) - budget_poll = create(:poll, budget: create(:budget)) + budget_poll = create(:poll, :for_budget) visit admin_polls_path diff --git a/spec/features/budget_polls/questions_spec.rb b/spec/features/budget_polls/questions_spec.rb index 1d0add98b..6de56c3e3 100644 --- a/spec/features/budget_polls/questions_spec.rb +++ b/spec/features/budget_polls/questions_spec.rb @@ -8,10 +8,8 @@ describe "Poll Questions" do end scenario "Do not display polls associated to a budget" do - budget = create(:budget) - poll1 = create(:poll, name: "Citizen Proposal Poll") - poll2 = create(:poll, budget: budget, name: "Participatory Budget Poll") + poll2 = create(:poll, :for_budget, name: "Participatory Budget Poll") visit admin_questions_path diff --git a/spec/models/poll/ballot_sheet_spec.rb b/spec/models/poll/ballot_sheet_spec.rb index 000a5a841..64bbc717f 100644 --- a/spec/models/poll/ballot_sheet_spec.rb +++ b/spec/models/poll/ballot_sheet_spec.rb @@ -39,8 +39,7 @@ describe Poll::BallotSheet do describe "#verify_ballots" do it "creates ballots for each document number" do - budget = create(:budget) - poll = create(:poll, budget: budget) + poll = create(:poll, :for_budget) poll_ballot = create(:poll_ballot_sheet, poll: poll, data: "1,2,3;4,5,6") poll_ballot.verify_ballots diff --git a/spec/models/poll/poll_spec.rb b/spec/models/poll/poll_spec.rb index 6ca1ae31c..59af1682a 100644 --- a/spec/models/poll/poll_spec.rb +++ b/spec/models/poll/poll_spec.rb @@ -346,11 +346,9 @@ describe Poll do describe "#not_budget" do it "returns polls not associated to a budget" do - budget = create(:budget) - poll1 = create(:poll) poll2 = create(:poll) - poll3 = create(:poll, budget: budget) + poll3 = create(:poll, :for_budget) expect(Poll.not_budget).to include(poll1) expect(Poll.not_budget).to include(poll2)