Commit 1d36a3dedea5a0901b94854b25d0815888d97a34

Authored by Heitor
1 parent 92674958

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>
app/controllers/kalibro_ranges_controller.rb
... ... @@ -23,8 +23,7 @@ class KalibroRangesController &lt; ApplicationController
23 23 def destroy
24 24 @kalibro_range.destroy
25 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 27 format.json { head :no_content }
29 28 end
30 29 end
... ... @@ -37,8 +36,7 @@ class KalibroRangesController &lt; ApplicationController
37 36 respond_to do |format|
38 37 @kalibro_range.metric_configuration_id = @metric_configuration_id
39 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 40 format.json { head :no_content }
43 41 else
44 42 failed_action(format, 'edit')
... ... @@ -55,13 +53,23 @@ class KalibroRangesController &lt; ApplicationController
55 53  
56 54 def create_and_redir(format)
57 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 57 else
61 58 failed_action(format, 'new')
62 59 end
63 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 73 def failed_action(format, destiny_action)
66 74 before_form
67 75 format.html { render action: destiny_action }
... ...
features/kalibro_range/create.feature
... ... @@ -186,3 +186,23 @@ Feature: Create Kalibro Range
186 186 Then I should be at metric configuration sample page
187 187 And I should see "666"
188 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 25 visit kalibro_configuration_metric_configuration_new_kalibro_range_path(@metric_configuration.kalibro_configuration_id, @metric_configuration.id)
26 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 33 Then(/^I should be at the New Range page$/) do
29 34 expect(page).to have_content("New Range")
30 35 expect(page).to have_content("Beginning")
... ...