diff --git a/app/models/budget/investment/milestone.rb b/app/models/budget/investment/milestone.rb
index 13724be21..98ea506e9 100644
--- a/app/models/budget/investment/milestone.rb
+++ b/app/models/budget/investment/milestone.rb
@@ -10,12 +10,14 @@ class Budget
belongs_to :investment
validates :title, presence: true
+ validates :description, presence: true
validates :investment, presence: true
validates :publication_date, presence: true
def self.title_max_length
80
end
+
end
end
end
diff --git a/app/views/admin/budget_investment_milestones/_form.html.erb b/app/views/admin/budget_investment_milestones/_form.html.erb
index 93cd31f63..6a39394d7 100644
--- a/app/views/admin/budget_investment_milestones/_form.html.erb
+++ b/app/views/admin/budget_investment_milestones/_form.html.erb
@@ -1,6 +1,6 @@
<%= form_for [:admin, @investment.budget, @investment, @milestone] do |f| %>
- <%= f.text_field :title, maxlength: Budget::Investment::Milestone.title_max_length %>
+ <%= f.hidden_field :title, value: l(Time.current, format: :datetime), maxlength: Budget::Investment::Milestone.title_max_length %>
<%= f.text_area :description, rows: 5 %>
<%= f.text_field :publication_date,
value: @milestone.publication_date.present? ? l(@milestone.publication_date.to_date) : nil,
diff --git a/app/views/budgets/investments/_milestones.html.erb b/app/views/budgets/investments/_milestones.html.erb
index 8065b6142..f5e3d8d5e 100644
--- a/app/views/budgets/investments/_milestones.html.erb
+++ b/app/views/budgets/investments/_milestones.html.erb
@@ -11,7 +11,6 @@
<% @investment.milestones.each do |milestone| %>
-
<%= milestone.title %>
<% if milestone.publication_date.present? %>
<%= t("budgets.investments.show.milestone_publication_date",
diff --git a/spec/features/admin/budget_investment_milestones_spec.rb b/spec/features/admin/budget_investment_milestones_spec.rb
index 0b198f6ab..f3de2157e 100644
--- a/spec/features/admin/budget_investment_milestones_spec.rb
+++ b/spec/features/admin/budget_investment_milestones_spec.rb
@@ -39,15 +39,13 @@ feature 'Admin budget investment milestones' do
click_link 'Create new milestone'
- fill_in 'budget_investment_milestone_title', with: 'New title milestone'
fill_in 'budget_investment_milestone_description', with: 'New description milestone'
- fill_in 'budget_investment_milestone_publication_date', with: Time.zone.today.to_date
+ fill_in 'budget_investment_milestone_publication_date', with: Time.zone.today
click_button 'Create milestone'
- expect(page).to have_content 'New title milestone'
expect(page).to have_content 'New description milestone'
- expect(page).to have_content Time.zone.today.to_date
+ expect(page).to have_content Time.zone.today
end
scenario "Show validation errors on milestone form" do
@@ -60,7 +58,7 @@ feature 'Admin budget investment milestones' do
click_button 'Create milestone'
within "#new_budget_investment_milestone" do
- expect(page).to have_content "can't be blank", count: 2
+ expect(page).to have_content "can't be blank", count: 1
expect(page).to have_content 'New description milestone'
end
end
@@ -79,14 +77,12 @@ feature 'Admin budget investment milestones' do
expect(page).to have_css("img[alt='#{milestone.image.title}']")
- fill_in 'budget_investment_milestone_title', with: 'Changed title'
fill_in 'budget_investment_milestone_description', with: 'Changed description'
fill_in 'budget_investment_milestone_publication_date', with: Time.zone.today.to_date
fill_in 'budget_investment_milestone_documents_attributes_0_title', with: 'New document title'
click_button 'Update milestone'
- expect(page).to have_content 'Changed title'
expect(page).to have_content 'Changed description'
expect(page).to have_content Time.zone.today.to_date
expect(page).to have_link 'Show image'
diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb
index 98f7d8f5e..6f646ca53 100644
--- a/spec/features/budgets/investments_spec.rb
+++ b/spec/features/budgets/investments_spec.rb
@@ -515,7 +515,6 @@ feature 'Budget Investments' do
find("#tab-milestones-label").trigger('click')
within("#tab-milestones") do
- expect(page).to have_content(milestone.title)
expect(page).to have_content(milestone.description)
expect(page).to have_content(Time.zone.today.to_date)
expect(page.find("#image_#{milestone.id}")['alt']).to have_content image.title
diff --git a/spec/models/budget/investment/milestone_spec.rb b/spec/models/budget/investment/milestone_spec.rb
index 32f040eaf..c66c9cd39 100644
--- a/spec/models/budget/investment/milestone_spec.rb
+++ b/spec/models/budget/investment/milestone_spec.rb
@@ -14,6 +14,11 @@ describe "Budget::Investment::Milestone" do
expect(milestone).to_not be_valid
end
+ it "Should not be valid without a description" do
+ milestone.description = nil
+ expect(milestone).to_not be_valid
+ end
+
it "Should not be valid without an investment" do
milestone.investment_id = nil
expect(milestone).to_not be_valid