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