From cec21e7da4df80d436e931ea63a5bd8f39b1fffd Mon Sep 17 00:00:00 2001 From: Diego Araújo Date: Fri, 14 Feb 2014 11:22:22 -0200 Subject: [PATCH] Edit and update for compound metric configurations. --- app/controllers/compound_metric_configurations_controller.rb | 5 +---- app/controllers/concerns/metric_configurations_concern.rb | 12 ------------ app/controllers/metric_configurations_controller.rb | 10 +++++++++- app/views/compound_metric_configurations/_form.html.erb | 2 +- app/views/compound_metric_configurations/edit.html.erb | 2 +- features/compound_metric_configuration/edition.feature | 23 ++++++++++++----------- features/step_definitions/compound_metric_configuration_steps.rb | 4 ++-- 7 files changed, 26 insertions(+), 32 deletions(-) diff --git a/app/controllers/compound_metric_configurations_controller.rb b/app/controllers/compound_metric_configurations_controller.rb index 20454b3..49e9fc6 100644 --- a/app/controllers/compound_metric_configurations_controller.rb +++ b/app/controllers/compound_metric_configurations_controller.rb @@ -28,10 +28,6 @@ class CompoundMetricConfigurationsController < ApplicationController @compound_metric_configuration.configuration_id = params[:mezuro_configuration_id].to_i end - def update - update_metric_configuration - end - private # Never trust parameters from the scary internet, only allow the white list through. @@ -43,6 +39,7 @@ class CompoundMetricConfigurationsController < ApplicationController def failed_action(format, destiny_action) @mezuro_configuration_id = params[:mezuro_configuration_id] + set_metric_configurations format.html { render action: destiny_action } format.json { render json: @compound_metric_configuration.errors, status: :unprocessable_entity } end diff --git a/app/controllers/concerns/metric_configurations_concern.rb b/app/controllers/concerns/metric_configurations_concern.rb index 459aad1..4040db8 100644 --- a/app/controllers/concerns/metric_configurations_concern.rb +++ b/app/controllers/concerns/metric_configurations_concern.rb @@ -4,16 +4,4 @@ module MetricConfigurationsConcern def set_metric_configuration @metric_configuration = MetricConfiguration.find(params[:id].to_i) end - - def update_metric_configuration - respond_to do |format| - @metric_configuration.configuration_id = params[:mezuro_configuration_id] - if @metric_configuration.update(metric_configuration_params) - format.html { redirect_to(mezuro_configuration_path(@metric_configuration.configuration_id), notice: 'Metric Configuration was successfully updated.') } - format.json { head :no_content } - else - failed_action(format, 'edit') - end - end - end end diff --git a/app/controllers/metric_configurations_controller.rb b/app/controllers/metric_configurations_controller.rb index c0f7392..af6ec21 100644 --- a/app/controllers/metric_configurations_controller.rb +++ b/app/controllers/metric_configurations_controller.rb @@ -36,7 +36,15 @@ class MetricConfigurationsController < ApplicationController end def update - update_metric_configuration + respond_to do |format| + @metric_configuration.configuration_id = params[:mezuro_configuration_id] + if @metric_configuration.update(metric_configuration_params) + format.html { redirect_to(mezuro_configuration_path(@metric_configuration.configuration_id), notice: 'Metric Configuration was successfully updated.') } + format.json { head :no_content } + else + failed_action(format, 'edit') + end + end end def destroy diff --git a/app/views/compound_metric_configurations/_form.html.erb b/app/views/compound_metric_configurations/_form.html.erb index 433fc34..c075c37 100644 --- a/app/views/compound_metric_configurations/_form.html.erb +++ b/app/views/compound_metric_configurations/_form.html.erb @@ -30,4 +30,4 @@
<%= f.submit 'Save', class: 'btn btn-primary' %> -<%= link_to 'Back', mezuro_configuration_path(@metric_configuration.configuration_id), class: 'btn btn-default' %> +<%= link_to 'Back', mezuro_configuration_path(@compound_metric_configuration.configuration_id), class: 'btn btn-default' %> diff --git a/app/views/compound_metric_configurations/edit.html.erb b/app/views/compound_metric_configurations/edit.html.erb index 06e1523..848eb2c 100644 --- a/app/views/compound_metric_configurations/edit.html.erb +++ b/app/views/compound_metric_configurations/edit.html.erb @@ -6,7 +6,7 @@
-<%= form_for(@compound_metric_configuration, :url => mezuro_configuration_compound_metric_configuration_update_url(@compound_metric_configuration.configuration_id, @compound_metric_configuration.id), method: :put) do |f| %> +<%= form_for(@compound_metric_configuration, :url => mezuro_configuration_metric_configuration_update_url(@compound_metric_configuration.configuration_id, @compound_metric_configuration.id), method: :put) do |f| %> <%= render partial: 'form', locals: {f: f} %> <% end %> diff --git a/features/compound_metric_configuration/edition.feature b/features/compound_metric_configuration/edition.feature index 58ece59..b11042c 100644 --- a/features/compound_metric_configuration/edition.feature +++ b/features/compound_metric_configuration/edition.feature @@ -29,31 +29,32 @@ Feature: Compound Metric Configuration edition And I press the Save button Then I should see "Another_code" - @kalibro_restart @wip - Scenario: trying to edit with an existing code + @kalibro_restart + Scenario: trying to edit with blank fields Given I am a regular user And I am signed in And I own a sample configuration And I have a sample reading group And I have a sample metric configuration within the given mezuro configuration And I have a sample compound metric configuration within the given mezuro configuration - And I have another compound metric configuration with code "Another_Code" within the given mezuro configuration When I visit the sample compound metric configuration edit page - And I fill the Code field with "Another_Code" + And I fill the Code field with " " + And I fill the Weight field with " " And I press the Save button - Then I should see "Code There's already" + Then I should see "Code can't be blank" + And I should see "Weight can't be blank" - @kalibro_restart @wip - Scenario: trying to edit with blank fields + @kalibro_restart + Scenario: trying to edit with an existing code Given I am a regular user And I am signed in And I own a sample configuration And I have a sample reading group And I have a sample metric configuration within the given mezuro configuration And I have a sample compound metric configuration within the given mezuro configuration + And I have another compound metric configuration with code "Another_Code" within the given mezuro configuration When I visit the sample compound metric configuration edit page - And I fill the Code field with " " - And I fill the Weight field with " " + And I fill the Code field with "Another_Code" And I press the Save button - Then I should see "Code can't be blank" - And I should see "Weight can't be blank" + Then I should see "Code There's already" + diff --git a/features/step_definitions/compound_metric_configuration_steps.rb b/features/step_definitions/compound_metric_configuration_steps.rb index 880f14a..8bbce39 100644 --- a/features/step_definitions/compound_metric_configuration_steps.rb +++ b/features/step_definitions/compound_metric_configuration_steps.rb @@ -7,11 +7,11 @@ Given(/^I see the sample metric configuration code$/) do end Given(/^I have a sample compound metric configuration within the given mezuro configuration$/) do - @compound_metric_configuration = FactoryGirl.create(:compound_metric_configuration, {id: nil, configuration_id: @mezuro_configuration.id}) + @compound_metric_configuration = FactoryGirl.create(:compound_metric_configuration, {id: nil, configuration_id: @mezuro_configuration.id, reading_group_id: @reading_group.id}) end Given(/^I have another compound metric configuration with code "(.*?)" within the given mezuro configuration$/) do |code| - FactoryGirl.create(:compound_metric_configuration, {id: nil, configuration_id: @mezuro_configuration.id, code: code}) + @another_compound_metric_configuration = FactoryGirl.create(:compound_metric_configuration, {id: nil, configuration_id: @mezuro_configuration.id, code: code, reading_group_id: @reading_group.id}) end When(/^I visit the sample compound metric configuration edit page$/) do -- libgit2 0.21.2