From: Jan Provaznik <jprovazn(a)redhat.com>
https://www.aeolusproject.org/redmine/issues/3322
---
src/app/controllers/deployments_controller.rb | 12 ++++++++++--
src/app/views/deployments/_history.html.haml | 4 ++++
src/features/deployment.feature | 10 ++++++++++
src/features/step_definitions/deployment_steps.rb | 9 +++++++++
4 files changed, 33 insertions(+), 2 deletions(-)
create mode 100644 src/app/views/deployments/_history.html.haml
diff --git a/src/app/controllers/deployments_controller.rb
b/src/app/controllers/deployments_controller.rb
index 169b1b6..38be20a 100644
--- a/src/app/controllers/deployments_controller.rb
+++ b/src/app/controllers/deployments_controller.rb
@@ -182,12 +182,20 @@ class DeploymentsController < ApplicationController
params[:page], PER_PAGE)
end
#TODO add links to real data for history, services
- @tabs = [{:name => t('instances.instances.other'), :view => @view, :id
=> 'instances', :count => @deployment.instances.count, :pretty_view_toggle
=> 'enabled'},
- {:name => t('properties'), :view => 'properties', :id
=> 'properties', :pretty_view_toggle => 'disabled'}
+ @tabs = [{:name => t('instances.instances.other'), :view => @view,
+ :id => 'instances', :count => @deployment.instances.count,
+ :pretty_view_toggle => 'enabled'},
+ {:name => t('properties'), :view => 'properties',
+ :id => 'properties', :pretty_view_toggle =>
'disabled'},
+ {:name => t('history'), :view => 'history', :id =>
'history',
+ :pretty_view_toggle => 'disabled'},
]
add_permissions_tab(@deployment)
details_tab_name = params[:details_tab].blank? ? 'instances' :
params[:details_tab]
@details_tab = @tabs.find {|t| t[:id] == details_tab_name} ||
@tabs.first[:name].downcase
+ if @details_tab[:id] == 'history'
+ @events = @deployment.events
+ end
if params[:details_tab]
@view = @details_tab[:view]
end
diff --git a/src/app/views/deployments/_history.html.haml
b/src/app/views/deployments/_history.html.haml
new file mode 100644
index 0000000..ca2ae5c
--- /dev/null
+++ b/src/app/views/deployments/_history.html.haml
@@ -0,0 +1,4 @@
+%ol
+ - @events.each do |event|
+ %li
+ = "#{event.event_time.strftime('%d-%b-%Y %H:%M:%S')}:
#{event.summary}"
diff --git a/src/features/deployment.feature b/src/features/deployment.feature
index a058d78..a5ebf73 100644
--- a/src/features/deployment.feature
+++ b/src/features/deployment.feature
@@ -156,6 +156,16 @@ Feature: Manage Deployments
When I follow "details_instances"
Then I should see "testdeployment"
+ Scenario: Show deployment history
+ Given there is a deployment named "testdeployment" belonging to
"testdeployable" owned by "testuser"
+ And deployement "testdeployment" has associated event
"testevent"
+ When I am on the deployments page
+ And I follow "testdeployment"
+ And I should see "testdeployment"
+ And I follow "History"
+ Then I should see "testdeployment"
+ And I should see "testevent"
+
Scenario: Delete a deployment
Given there is a deployment named "testdeployment" belonging to
"testdeployable" owned by "testuser"
And I am on the pools page
diff --git a/src/features/step_definitions/deployment_steps.rb
b/src/features/step_definitions/deployment_steps.rb
index 0640d9d..4ebab17 100644
--- a/src/features/step_definitions/deployment_steps.rb
+++ b/src/features/step_definitions/deployment_steps.rb
@@ -77,3 +77,12 @@ end
When /^I stop "([^"]*)" deployment$/ do |arg1|
visit multi_stop_deployments_url('deployments_selected[]' =>
Deployment.find_by_name(arg1).id)
end
+
+Given /^deployement "([^"]*)" has associated event
"([^"]*)"$/ do |arg1, arg2|
+ depl = Deployment.find_by_name(arg1)
+ depl.events << Event.create(
+ :source => depl,
+ :event_time => DateTime.now,
+ :summary => arg2
+ )
+end
--
1.7.7.6