Commit 1d36a3dedea5a0901b94854b25d0815888d97a34
1 parent
92674958
Exists in
colab
and in
4 other branches
Changing the redirection path after create, edit or delete on a range
Acceptance tests for edit and delete pending Signed off by: Diego Araújo <diegoamc90@gmail.com>
Showing
3 changed files
with
39 additions
and
6 deletions
Show diff stats
app/controllers/kalibro_ranges_controller.rb
| @@ -23,8 +23,7 @@ class KalibroRangesController < ApplicationController | @@ -23,8 +23,7 @@ class KalibroRangesController < ApplicationController | ||
| 23 | def destroy | 23 | def destroy |
| 24 | @kalibro_range.destroy | 24 | @kalibro_range.destroy |
| 25 | respond_to do |format| | 25 | respond_to do |format| |
| 26 | - format.html { redirect_to kalibro_configuration_metric_configuration_path( | ||
| 27 | - @kalibro_configuration_id, @metric_configuration_id) } | 26 | + format_metric_configuration_path(format, "Range was successfully edited.") |
| 28 | format.json { head :no_content } | 27 | format.json { head :no_content } |
| 29 | end | 28 | end |
| 30 | end | 29 | end |
| @@ -37,8 +36,7 @@ class KalibroRangesController < ApplicationController | @@ -37,8 +36,7 @@ class KalibroRangesController < ApplicationController | ||
| 37 | respond_to do |format| | 36 | respond_to do |format| |
| 38 | @kalibro_range.metric_configuration_id = @metric_configuration_id | 37 | @kalibro_range.metric_configuration_id = @metric_configuration_id |
| 39 | if @kalibro_range.update(kalibro_range_params) | 38 | if @kalibro_range.update(kalibro_range_params) |
| 40 | - format.html { redirect_to kalibro_configuration_metric_configuration_path( | ||
| 41 | - @kalibro_configuration_id, @metric_configuration_id), notice: 'Range was successfully edited.' } | 39 | + format_metric_configuration_path(format, 'Range was successfully edited.') |
| 42 | format.json { head :no_content } | 40 | format.json { head :no_content } |
| 43 | else | 41 | else |
| 44 | failed_action(format, 'edit') | 42 | failed_action(format, 'edit') |
| @@ -55,13 +53,23 @@ class KalibroRangesController < ApplicationController | @@ -55,13 +53,23 @@ class KalibroRangesController < ApplicationController | ||
| 55 | 53 | ||
| 56 | def create_and_redir(format) | 54 | def create_and_redir(format) |
| 57 | if @kalibro_range.save | 55 | if @kalibro_range.save |
| 58 | - format.html { redirect_to kalibro_configuration_metric_configuration_path( | ||
| 59 | - @kalibro_configuration_id, @metric_configuration_id), notice: 'Range was successfully created.' } | 56 | + format_metric_configuration_path(format, 'Range was successfully created.') |
| 60 | else | 57 | else |
| 61 | failed_action(format, 'new') | 58 | failed_action(format, 'new') |
| 62 | end | 59 | end |
| 63 | end | 60 | end |
| 64 | 61 | ||
| 62 | + def format_metric_configuration_path(format, notice) | ||
| 63 | + @metric_configuration = MetricConfiguration.find @kalibro_range.metric_configuration_id | ||
| 64 | + if(@metric_configuration.metric.is_a? KalibroClient::Entities::Miscellaneous::CompoundMetric) | ||
| 65 | + format.html { redirect_to kalibro_configuration_compound_metric_configuration_path( | ||
| 66 | + @kalibro_configuration_id, @metric_configuration_id), notice: notice } | ||
| 67 | + else | ||
| 68 | + format.html { redirect_to kalibro_configuration_metric_configuration_path( | ||
| 69 | + @kalibro_configuration_id, @metric_configuration_id), notice: notice } | ||
| 70 | + end | ||
| 71 | + end | ||
| 72 | + | ||
| 65 | def failed_action(format, destiny_action) | 73 | def failed_action(format, destiny_action) |
| 66 | before_form | 74 | before_form |
| 67 | format.html { render action: destiny_action } | 75 | format.html { render action: destiny_action } |
features/kalibro_range/create.feature
| @@ -186,3 +186,23 @@ Feature: Create Kalibro Range | @@ -186,3 +186,23 @@ Feature: Create Kalibro Range | ||
| 186 | Then I should be at metric configuration sample page | 186 | Then I should be at metric configuration sample page |
| 187 | And I should see "666" | 187 | And I should see "666" |
| 188 | And I should see "INF" | 188 | And I should see "INF" |
| 189 | + | ||
| 190 | + @kalibro_configuration_restart @javascript | ||
| 191 | + Scenario: Should create a kalibro range and redirect to the compound metric configuration page | ||
| 192 | + Given I am a regular user | ||
| 193 | + And I am signed in | ||
| 194 | + And I own a sample configuration | ||
| 195 | + And I own a sample reading group | ||
| 196 | + And I have a sample metric configuration within the given mezuro configuration | ||
| 197 | + And I have a sample compound metric configuration within the given mezuro configuration | ||
| 198 | + And I have a sample reading within the sample reading group labeled "My Reading" | ||
| 199 | + And I am at the New Range page for the compound metric configuration | ||
| 200 | + And I click the -∞ link | ||
| 201 | + And I click the ∞ link | ||
| 202 | + And I fill the Comments field with "My Comment" | ||
| 203 | + And I set the select field "Reading" as "My Reading" | ||
| 204 | + When I press the Save button | ||
| 205 | + Then I should be at compound metric configuration sample page | ||
| 206 | + And I should see "-INF" | ||
| 207 | + And I should see "INF" | ||
| 208 | + |
features/step_definitions/kalibro_range_steps.rb
| @@ -25,6 +25,11 @@ When(/^I am at the New Range page$/) do | @@ -25,6 +25,11 @@ When(/^I am at the New Range page$/) do | ||
| 25 | visit kalibro_configuration_metric_configuration_new_kalibro_range_path(@metric_configuration.kalibro_configuration_id, @metric_configuration.id) | 25 | visit kalibro_configuration_metric_configuration_new_kalibro_range_path(@metric_configuration.kalibro_configuration_id, @metric_configuration.id) |
| 26 | end | 26 | end |
| 27 | 27 | ||
| 28 | +Given(/^I am at the New Range page for the compound metric configuration$/) do | ||
| 29 | + visit kalibro_configuration_metric_configuration_new_kalibro_range_path(@compound_metric_configuration.kalibro_configuration_id, @compound_metric_configuration.id) | ||
| 30 | +end | ||
| 31 | + | ||
| 32 | + | ||
| 28 | Then(/^I should be at the New Range page$/) do | 33 | Then(/^I should be at the New Range page$/) do |
| 29 | expect(page).to have_content("New Range") | 34 | expect(page).to have_content("New Range") |
| 30 | expect(page).to have_content("Beginning") | 35 | expect(page).to have_content("Beginning") |