Unify lets from documentable and imageable to attachables methods
This commit is contained in:
@@ -44,4 +44,48 @@ module Attachables
|
|||||||
when :proposal then fill_in_proposal
|
when :proposal then fill_in_proposal
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def attachable_path_for(factory, attachable)
|
||||||
|
case factory
|
||||||
|
when :budget then new_admin_budgets_wizard_budget_path
|
||||||
|
when :budget_investment
|
||||||
|
[
|
||||||
|
new_budget_investment_path(budget_id: attachable.budget_id),
|
||||||
|
new_management_budget_investment_path(budget_id: attachable.budget_id)
|
||||||
|
].sample
|
||||||
|
when :dashboard_action then new_admin_dashboard_action_path
|
||||||
|
when :future_poll_question_option then new_admin_option_image_path(option_id: attachable.id)
|
||||||
|
when :proposal then [new_proposal_path, edit_proposal_path(attachable)].sample
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def submit_button_text_for(factory, path)
|
||||||
|
case factory
|
||||||
|
when :budget then "Continue to groups"
|
||||||
|
when :budget_investment then "Create Investment"
|
||||||
|
when :dashboard_action then "Save"
|
||||||
|
when :future_poll_question_option then "Save image"
|
||||||
|
when :proposal
|
||||||
|
if edit_path?(path)
|
||||||
|
"Save changes"
|
||||||
|
else
|
||||||
|
"Create proposal"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def notice_text_for(factory, path)
|
||||||
|
case factory
|
||||||
|
when :budget then "New participatory budget created successfully!"
|
||||||
|
when :budget_investment then "Budget Investment created successfully."
|
||||||
|
when :dashboard_action then "Action created successfully"
|
||||||
|
when :future_poll_question_option then "Image uploaded successfully"
|
||||||
|
when :proposal
|
||||||
|
if edit_path?(path)
|
||||||
|
"Proposal updated successfully"
|
||||||
|
else
|
||||||
|
"Proposal created successfully"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,45 +10,9 @@ describe "Nested documentable" do
|
|||||||
let(:factory) { factories.sample }
|
let(:factory) { factories.sample }
|
||||||
let!(:documentable) { create(factory) }
|
let!(:documentable) { create(factory) }
|
||||||
let!(:user) { create(:user, :level_two) }
|
let!(:user) { create(:user, :level_two) }
|
||||||
let(:path) do
|
let(:path) { attachable_path_for(factory, documentable) }
|
||||||
case factory
|
let(:submit_button_text) { submit_button_text_for(factory, path) }
|
||||||
when :budget_investment
|
let(:notice_text) { notice_text_for(factory, path) }
|
||||||
[
|
|
||||||
new_budget_investment_path(budget_id: documentable.budget_id),
|
|
||||||
new_management_budget_investment_path(budget_id: documentable.budget_id)
|
|
||||||
].sample
|
|
||||||
when :dashboard_action then new_admin_dashboard_action_path
|
|
||||||
when :proposal
|
|
||||||
[
|
|
||||||
new_proposal_path,
|
|
||||||
edit_proposal_path(id: documentable.id)
|
|
||||||
].sample
|
|
||||||
end
|
|
||||||
end
|
|
||||||
let(:submit_button_text) do
|
|
||||||
case factory
|
|
||||||
when :budget_investment then "Create Investment"
|
|
||||||
when :dashboard_action then "Save"
|
|
||||||
when :proposal
|
|
||||||
if edit_path?(path)
|
|
||||||
"Save changes"
|
|
||||||
else
|
|
||||||
"Create proposal"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
let(:notice_text) do
|
|
||||||
case factory
|
|
||||||
when :budget_investment then "Budget Investment created successfully."
|
|
||||||
when :dashboard_action then "Action created successfully"
|
|
||||||
when :proposal
|
|
||||||
if edit_path?(path)
|
|
||||||
"Proposal updated successfully"
|
|
||||||
else
|
|
||||||
"Proposal created successfully"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "New and edit path" do
|
context "New and edit path" do
|
||||||
describe "When allow attached documents setting is enabled" do
|
describe "When allow attached documents setting is enabled" do
|
||||||
|
|||||||
@@ -11,44 +11,9 @@ describe "Nested imageable" do
|
|||||||
let(:factory) { factories.sample }
|
let(:factory) { factories.sample }
|
||||||
let!(:imageable) { create(factory) }
|
let!(:imageable) { create(factory) }
|
||||||
let!(:user) { create(:user, :level_two) }
|
let!(:user) { create(:user, :level_two) }
|
||||||
let(:path) do
|
let(:path) { attachable_path_for(factory, imageable) }
|
||||||
case factory
|
let(:submit_button_text) { submit_button_text_for(factory, path) }
|
||||||
when :budget then new_admin_budgets_wizard_budget_path
|
let(:notice_text) { notice_text_for(factory, path) }
|
||||||
when :budget_investment
|
|
||||||
[
|
|
||||||
new_budget_investment_path(budget_id: imageable.budget_id),
|
|
||||||
new_management_budget_investment_path(budget_id: imageable.budget_id)
|
|
||||||
].sample
|
|
||||||
when :future_poll_question_option then new_admin_option_image_path(option_id: imageable.id)
|
|
||||||
when :proposal then [new_proposal_path, edit_proposal_path(imageable)].sample
|
|
||||||
end
|
|
||||||
end
|
|
||||||
let(:submit_button_text) do
|
|
||||||
case factory
|
|
||||||
when :budget then "Continue to groups"
|
|
||||||
when :budget_investment then "Create Investment"
|
|
||||||
when :future_poll_question_option then "Save image"
|
|
||||||
when :proposal
|
|
||||||
if edit_path?(path)
|
|
||||||
"Save changes"
|
|
||||||
else
|
|
||||||
"Create proposal"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
let(:notice_text) do
|
|
||||||
case factory
|
|
||||||
when :budget then "New participatory budget created successfully!"
|
|
||||||
when :budget_investment then "Budget Investment created successfully."
|
|
||||||
when :future_poll_question_option then "Image uploaded successfully"
|
|
||||||
when :proposal
|
|
||||||
if edit_path?(path)
|
|
||||||
"Proposal updated successfully"
|
|
||||||
else
|
|
||||||
"Proposal created successfully"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "New and edit path" do
|
context "New and edit path" do
|
||||||
before do
|
before do
|
||||||
|
|||||||
Reference in New Issue
Block a user