From 30bc795d119679f717f5b3d41971ae51553e03c7 Mon Sep 17 00:00:00 2001 From: Diego Araújo Date: Thu, 13 Feb 2014 08:36:18 -0200 Subject: [PATCH] Helper for edit links of metric configurations. --- app/helpers/mezuro_configurations_helper.rb | 10 +++++++++- app/views/mezuro_configurations/_metric_configurations.html.erb | 5 ++--- spec/helpers/mezuro_configurations_helper_spec.rb | 18 +++++++++++++++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/app/helpers/mezuro_configurations_helper.rb b/app/helpers/mezuro_configurations_helper.rb index b42182b..4c42f12 100644 --- a/app/helpers/mezuro_configurations_helper.rb +++ b/app/helpers/mezuro_configurations_helper.rb @@ -2,4 +2,12 @@ module MezuroConfigurationsHelper def mezuro_configuration_owner?(mezuro_configuration_id) user_signed_in? && !current_user.mezuro_configuration_ownerships.find_by_mezuro_configuration_id(mezuro_configuration_id).nil? end -end \ No newline at end of file + + def link_to_edit_form(metric_configuration, mezuro_configuration_id) + if (metric_configuration.metric.compound) + link_to('Edit', edit_mezuro_configuration_compound_metric_configuration_path(mezuro_configuration_id, metric_configuration.id), class: 'btn btn-info') + else + link_to('Edit', edit_mezuro_configuration_metric_configuration_path(mezuro_configuration_id, metric_configuration.id), class: 'btn btn-info') + end + end +end diff --git a/app/views/mezuro_configurations/_metric_configurations.html.erb b/app/views/mezuro_configurations/_metric_configurations.html.erb index 638445d..cc6255a 100644 --- a/app/views/mezuro_configurations/_metric_configurations.html.erb +++ b/app/views/mezuro_configurations/_metric_configurations.html.erb @@ -4,8 +4,7 @@ <%= metric_configuration.weight %> <% if mezuro_configuration_owner? @mezuro_configuration.id %> - <%= link_to 'Edit', edit_mezuro_configuration_metric_configuration_path(@mezuro_configuration.id, metric_configuration.id), - class: 'btn btn-info' %> + <%= link_to_edit_form(metric_configuration, @mezuro_configuration.id) %> <%= link_to 'Destroy', mezuro_configuration_metric_configuration_path(@mezuro_configuration.id, metric_configuration.id), @@ -14,4 +13,4 @@ <% end %> - \ No newline at end of file + diff --git a/spec/helpers/mezuro_configurations_helper_spec.rb b/spec/helpers/mezuro_configurations_helper_spec.rb index a34db08..0e23dab 100644 --- a/spec/helpers/mezuro_configurations_helper_spec.rb +++ b/spec/helpers/mezuro_configurations_helper_spec.rb @@ -41,4 +41,20 @@ describe MezuroConfigurationsHelper do it { helper.mezuro_configuration_owner?(@subject.id).should be_true } end end -end \ No newline at end of file + + describe 'link to edit form' do + context 'when the metric is native' do + let(:metric_configuration) { FactoryGirl.build(:metric_configuration) } + let(:response_link) {"Edit"} + + it { helper.link_to_edit_form(metric_configuration, metric_configuration.configuration_id).should eq(response_link) } + end + + context 'when the metric is compound' do + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration) } + let(:response_link) {"Edit"} + + it { helper.link_to_edit_form(compound_metric_configuration, compound_metric_configuration.configuration_id).should eq(response_link) } + end + end +end -- libgit2 0.21.2