Commit d79ced99b18316465d17a90789819c4a772e3ae8
Committed by
Rafael Manzo
1 parent
eed7bbd0
Exists in
colab
and in
4 other branches
Show feature for compound metric configuration.
Showing
5 changed files
with
116 additions
and
2 deletions
Show diff stats
app/controllers/compound_metric_configurations_controller.rb
@@ -2,10 +2,10 @@ include OwnershipAuthentication | @@ -2,10 +2,10 @@ include OwnershipAuthentication | ||
2 | include MetricConfigurationsConcern | 2 | include MetricConfigurationsConcern |
3 | 3 | ||
4 | class CompoundMetricConfigurationsController < ApplicationController | 4 | class CompoundMetricConfigurationsController < ApplicationController |
5 | - before_action :authenticate_user!, except: [:index] | 5 | + before_action :authenticate_user!, except: [:show, :index] |
6 | before_action :mezuro_configuration_owner?, only: [:new, :create] | 6 | before_action :mezuro_configuration_owner?, only: [:new, :create] |
7 | before_action :metric_configuration_owner?, only: [:edit, :update] | 7 | before_action :metric_configuration_owner?, only: [:edit, :update] |
8 | - before_action :set_metric_configuration, only: [:edit, :update] | 8 | + before_action :set_metric_configuration, only: [:show, :edit, :update] |
9 | before_action :set_metric_configurations, only: [:new, :edit] | 9 | before_action :set_metric_configurations, only: [:new, :edit] |
10 | 10 | ||
11 | # GET mezuro_configurations/1/compound_metric_configurations/new | 11 | # GET mezuro_configurations/1/compound_metric_configurations/new |
@@ -23,6 +23,12 @@ class CompoundMetricConfigurationsController < ApplicationController | @@ -23,6 +23,12 @@ class CompoundMetricConfigurationsController < ApplicationController | ||
23 | end | 23 | end |
24 | end | 24 | end |
25 | 25 | ||
26 | + def show | ||
27 | + @compound_metric_configuration = @metric_configuration | ||
28 | + @reading_group = ReadingGroup.find(@compound_metric_configuration.reading_group_id) | ||
29 | + @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i | ||
30 | + end | ||
31 | + | ||
26 | def edit | 32 | def edit |
27 | @compound_metric_configuration = @metric_configuration | 33 | @compound_metric_configuration = @metric_configuration |
28 | @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i | 34 | @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i |
@@ -0,0 +1,76 @@ | @@ -0,0 +1,76 @@ | ||
1 | +<div class="page-header"> | ||
2 | + <h1><%=@compound_metric_configuration.metric.name %></h1> | ||
3 | +</div> | ||
4 | + | ||
5 | +<p> | ||
6 | + <strong>Description:</strong> | ||
7 | + <% if @compound_metric_configuration.metric.description.nil? %> | ||
8 | + <%= "There is no description available." %> | ||
9 | + <% else %> | ||
10 | + <%= @compound_metric_configuration.metric.description %> | ||
11 | + <% end %> | ||
12 | +</p> | ||
13 | + | ||
14 | +<p> | ||
15 | + <strong>Script:</strong> | ||
16 | + <%= @compound_metric_configuration.metric.script %> | ||
17 | +</p> | ||
18 | + | ||
19 | +<p> | ||
20 | + <strong>Scope:</strong> | ||
21 | + <%= @compound_metric_configuration.metric.scope %> | ||
22 | +</p> | ||
23 | + | ||
24 | +<p> | ||
25 | + <strong>Code:</strong> | ||
26 | + <%= @compound_metric_configuration.code %> | ||
27 | +</p> | ||
28 | + | ||
29 | +<p> | ||
30 | + <strong>Weight:</strong> | ||
31 | + <%= @compound_metric_configuration.weight %> | ||
32 | +</p> | ||
33 | + | ||
34 | +<p> | ||
35 | + <strong>Aggregation Form:</strong> | ||
36 | + <%= @compound_metric_configuration.aggregation_form %> | ||
37 | +</p> | ||
38 | + | ||
39 | +<p> | ||
40 | + <strong>Reading Group Name:</strong> | ||
41 | + <%= @reading_group.name %> | ||
42 | +</p> | ||
43 | + | ||
44 | +<hr> | ||
45 | + | ||
46 | +<h2> Ranges </h2> | ||
47 | +<% if mezuro_configuration_owner? @compound_metric_configuration.configuration_id %> | ||
48 | + <%= link_to 'Add Range', mezuro_configuration_metric_configuration_new_mezuro_range_path(@compound_metric_configuration.configuration_id, | ||
49 | + @compound_metric_configuration.id), class: 'btn btn-info' %> | ||
50 | +<% end %> | ||
51 | + | ||
52 | +<table class="table table-hover"> | ||
53 | + <thead> | ||
54 | + <tr> | ||
55 | + <th>Label</th> | ||
56 | + <th>Beginning</th> | ||
57 | + <th>End</th> | ||
58 | + </tr> | ||
59 | + </thead> | ||
60 | + <tbody> | ||
61 | + | ||
62 | + </tbody> | ||
63 | +</table> | ||
64 | + | ||
65 | +<hr> | ||
66 | + | ||
67 | +<p> | ||
68 | + <%= link_to 'Back', mezuro_configuration_path(@compound_metric_configuration.configuration_id), class: 'btn btn-default' %> | ||
69 | +<% if mezuro_configuration_owner? @compound_metric_configuration.configuration_id %> | ||
70 | + <%= link_to 'Destroy Metric Configuration', mezuro_configuration_metric_configuration_path(@compound_metric_configuration.configuration_id, | ||
71 | + @compound_metric_configuration.id), method: :delete, data: { confirm: 'Are you sure that you want to destroy this metric configuration?' }, | ||
72 | + class: 'btn btn-danger' %> | ||
73 | + <% end %> | ||
74 | +</p> | ||
75 | + | ||
76 | + |
@@ -0,0 +1,13 @@ | @@ -0,0 +1,13 @@ | ||
1 | +Feature: Show Compound Metric Configuration | ||
2 | + In order to know all the compound metric configurations contents | ||
3 | + As a regular user | ||
4 | + I should be able to see each of them | ||
5 | + | ||
6 | + @kalibro_restart | ||
7 | + Scenario: Checking metric configuration show link | ||
8 | + Given I have a sample configuration | ||
9 | + And I have a sample reading group | ||
10 | + And I have a sample compound metric configuration within the given mezuro configuration | ||
11 | + When I am at the Sample Configuration page | ||
12 | + And I click the Show link | ||
13 | + Then I should be at compound metric configuration sample page |
features/step_definitions/compound_metric_configuration_steps.rb
@@ -21,3 +21,8 @@ end | @@ -21,3 +21,8 @@ end | ||
21 | When(/^I click the edit link of the Coumpound Metric$/) do | 21 | When(/^I click the edit link of the Coumpound Metric$/) do |
22 | page.find('tr', :text => @compound_metric_configuration.metric.name).click_link('Edit') | 22 | page.find('tr', :text => @compound_metric_configuration.metric.name).click_link('Edit') |
23 | end | 23 | end |
24 | + | ||
25 | +Then(/^I should be at compound metric configuration sample page$/) do | ||
26 | + page.should have_content(@compound_metric_configuration.metric.name) | ||
27 | + page.should have_content("Ranges") | ||
28 | +end |
spec/controllers/compound_metric_configurations_controller_spec.rb
@@ -68,6 +68,20 @@ describe CompoundMetricConfigurationsController do | @@ -68,6 +68,20 @@ describe CompoundMetricConfigurationsController do | ||
68 | end | 68 | end |
69 | end | 69 | end |
70 | 70 | ||
71 | + describe 'show' do | ||
72 | + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } | ||
73 | + let(:reading_group) { FactoryGirl.build(:reading_group) } | ||
74 | + | ||
75 | + before :each do | ||
76 | + ReadingGroup.expects(:find).with(compound_metric_configuration.reading_group_id).returns(reading_group) | ||
77 | + MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) | ||
78 | + | ||
79 | + get :show, mezuro_configuration_id: compound_metric_configuration.configuration_id.to_s, id: compound_metric_configuration.id | ||
80 | + end | ||
81 | + | ||
82 | + it { should render_template(:show) } | ||
83 | + end | ||
84 | + | ||
71 | describe 'edit' do | 85 | describe 'edit' do |
72 | let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } | 86 | let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } |
73 | 87 |