From d79ced99b18316465d17a90789819c4a772e3ae8 Mon Sep 17 00:00:00 2001 From: Diego Araújo Date: Wed, 19 Feb 2014 18:13:02 -0300 Subject: [PATCH] Show feature for compound metric configuration. --- app/controllers/compound_metric_configurations_controller.rb | 10 ++++++++-- app/views/compound_metric_configurations/show.html.erb | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ features/compound_metric_configuration/show.feature | 13 +++++++++++++ features/step_definitions/compound_metric_configuration_steps.rb | 5 +++++ spec/controllers/compound_metric_configurations_controller_spec.rb | 14 ++++++++++++++ 5 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 app/views/compound_metric_configurations/show.html.erb create mode 100644 features/compound_metric_configuration/show.feature diff --git a/app/controllers/compound_metric_configurations_controller.rb b/app/controllers/compound_metric_configurations_controller.rb index 49e9fc6..7fc6ea7 100644 --- a/app/controllers/compound_metric_configurations_controller.rb +++ b/app/controllers/compound_metric_configurations_controller.rb @@ -2,10 +2,10 @@ include OwnershipAuthentication include MetricConfigurationsConcern class CompoundMetricConfigurationsController < ApplicationController - before_action :authenticate_user!, except: [:index] + before_action :authenticate_user!, except: [:show, :index] before_action :mezuro_configuration_owner?, only: [:new, :create] before_action :metric_configuration_owner?, only: [:edit, :update] - before_action :set_metric_configuration, only: [:edit, :update] + before_action :set_metric_configuration, only: [:show, :edit, :update] before_action :set_metric_configurations, only: [:new, :edit] # GET mezuro_configurations/1/compound_metric_configurations/new @@ -23,6 +23,12 @@ class CompoundMetricConfigurationsController < ApplicationController end end + def show + @compound_metric_configuration = @metric_configuration + @reading_group = ReadingGroup.find(@compound_metric_configuration.reading_group_id) + @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i + end + def edit @compound_metric_configuration = @metric_configuration @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i diff --git a/app/views/compound_metric_configurations/show.html.erb b/app/views/compound_metric_configurations/show.html.erb new file mode 100644 index 0000000..a4e676f --- /dev/null +++ b/app/views/compound_metric_configurations/show.html.erb @@ -0,0 +1,76 @@ + + +

+ Description: + <% if @compound_metric_configuration.metric.description.nil? %> + <%= "There is no description available." %> + <% else %> + <%= @compound_metric_configuration.metric.description %> + <% end %> +

+ +

+ Script: + <%= @compound_metric_configuration.metric.script %> +

+ +

+ Scope: + <%= @compound_metric_configuration.metric.scope %> +

+ +

+ Code: + <%= @compound_metric_configuration.code %> +

+ +

+ Weight: + <%= @compound_metric_configuration.weight %> +

+ +

+ Aggregation Form: + <%= @compound_metric_configuration.aggregation_form %> +

+ +

+ Reading Group Name: + <%= @reading_group.name %> +

+ +
+ +

Ranges

+<% if mezuro_configuration_owner? @compound_metric_configuration.configuration_id %> + <%= link_to 'Add Range', mezuro_configuration_metric_configuration_new_mezuro_range_path(@compound_metric_configuration.configuration_id, + @compound_metric_configuration.id), class: 'btn btn-info' %> +<% end %> + + + + + + + + + + + + +
LabelBeginningEnd
+ +
+ +

+ <%= link_to 'Back', mezuro_configuration_path(@compound_metric_configuration.configuration_id), class: 'btn btn-default' %> +<% if mezuro_configuration_owner? @compound_metric_configuration.configuration_id %> + <%= link_to 'Destroy Metric Configuration', mezuro_configuration_metric_configuration_path(@compound_metric_configuration.configuration_id, + @compound_metric_configuration.id), method: :delete, data: { confirm: 'Are you sure that you want to destroy this metric configuration?' }, + class: 'btn btn-danger' %> + <% end %> +

+ + diff --git a/features/compound_metric_configuration/show.feature b/features/compound_metric_configuration/show.feature new file mode 100644 index 0000000..12e9b70 --- /dev/null +++ b/features/compound_metric_configuration/show.feature @@ -0,0 +1,13 @@ +Feature: Show Compound Metric Configuration + In order to know all the compound metric configurations contents + As a regular user + I should be able to see each of them + + @kalibro_restart + Scenario: Checking metric configuration show link + Given I have a sample configuration + And I have a sample reading group + And I have a sample compound metric configuration within the given mezuro configuration + When I am at the Sample Configuration page + And I click the Show link + Then I should be at compound metric configuration sample page diff --git a/features/step_definitions/compound_metric_configuration_steps.rb b/features/step_definitions/compound_metric_configuration_steps.rb index 8bbce39..1a0168a 100644 --- a/features/step_definitions/compound_metric_configuration_steps.rb +++ b/features/step_definitions/compound_metric_configuration_steps.rb @@ -21,3 +21,8 @@ end When(/^I click the edit link of the Coumpound Metric$/) do page.find('tr', :text => @compound_metric_configuration.metric.name).click_link('Edit') end + +Then(/^I should be at compound metric configuration sample page$/) do + page.should have_content(@compound_metric_configuration.metric.name) + page.should have_content("Ranges") +end diff --git a/spec/controllers/compound_metric_configurations_controller_spec.rb b/spec/controllers/compound_metric_configurations_controller_spec.rb index 565a7d7..6d239a8 100644 --- a/spec/controllers/compound_metric_configurations_controller_spec.rb +++ b/spec/controllers/compound_metric_configurations_controller_spec.rb @@ -68,6 +68,20 @@ describe CompoundMetricConfigurationsController do end end + describe 'show' do + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } + let(:reading_group) { FactoryGirl.build(:reading_group) } + + before :each do + ReadingGroup.expects(:find).with(compound_metric_configuration.reading_group_id).returns(reading_group) + MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) + + get :show, mezuro_configuration_id: compound_metric_configuration.configuration_id.to_s, id: compound_metric_configuration.id + end + + it { should render_template(:show) } + end + describe 'edit' do let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } -- libgit2 0.21.2