Make Milestones general, and not specific to Budget Investments

Generalize the Budget::Investment::Milestone model to a
polymorphic Milestone model so it can be used for entities
other than Budget::Investment.
This commit is contained in:
Marko Lovic
2018-07-16 15:00:56 +02:00
committed by Javi Martín
parent 81f516efd7
commit c0f6fa182f
23 changed files with 176 additions and 122 deletions

View File

@@ -10,13 +10,13 @@ feature 'Admin budget investment milestones' do
end
it_behaves_like "translatable",
"budget_investment_milestone",
"edit_admin_budget_budget_investment_budget_investment_milestone_path",
"milestone",
"edit_admin_budget_budget_investment_milestone_path",
%w[description]
context "Index" do
scenario 'Displaying milestones' do
milestone = create(:budget_investment_milestone, investment: @investment)
milestone = create(:milestone, milestoneable: @investment)
create(:image, imageable: milestone)
document = create(:document, documentable: milestone)
@@ -46,9 +46,9 @@ feature 'Admin budget investment milestones' do
click_link 'Create new milestone'
select status.name, from: 'budget_investment_milestone_status_id'
select status.name, from: 'milestone_status_id'
fill_in 'Description', with: 'New description milestone'
fill_in 'budget_investment_milestone_publication_date', with: Date.current
fill_in 'milestone_publication_date', with: Date.current
click_button 'Create milestone'
@@ -61,7 +61,7 @@ feature 'Admin budget investment milestones' do
visit admin_budget_budget_investment_path(@investment.budget, @investment)
click_link 'Create new milestone'
expect(find("#budget_investment_milestone_status_id").disabled?).to be true
expect(find("#milestone_status_id").disabled?).to be true
end
scenario "Show validation errors on milestone form" do
@@ -73,7 +73,7 @@ feature 'Admin budget investment milestones' do
click_button 'Create milestone'
within "#new_budget_investment_milestone" do
within "#new_milestone" do
expect(page).to have_content "can't be blank", count: 1
expect(page).to have_content 'New description milestone'
end
@@ -82,7 +82,7 @@ feature 'Admin budget investment milestones' do
context "Edit" do
scenario "Change title, description and document names" do
milestone = create(:budget_investment_milestone, investment: @investment)
milestone = create(:milestone, milestoneable: @investment)
create(:image, imageable: milestone)
document = create(:document, documentable: milestone)
@@ -94,8 +94,8 @@ feature 'Admin budget investment milestones' do
expect(page).to have_css("img[alt='#{milestone.image.title}']")
fill_in 'Description', with: 'Changed description'
fill_in 'budget_investment_milestone_publication_date', with: Date.current
fill_in 'budget_investment_milestone_documents_attributes_0_title', with: 'New document title'
fill_in 'milestone_publication_date', with: Date.current
fill_in 'milestone_documents_attributes_0_title', with: 'New document title'
click_button 'Update milestone'
@@ -108,7 +108,7 @@ feature 'Admin budget investment milestones' do
context "Delete" do
scenario "Remove milestone" do
milestone = create(:budget_investment_milestone, investment: @investment, title: "Title will it remove")
milestone = create(:milestone, milestoneable: @investment, title: "Title will it remove")
visit admin_budget_budget_investment_path(@investment.budget, @investment)