Commit b5b20a6df2406a1ec91d60c613a90298746ce1c1

Authored by Diego Camarinha
1 parent b2de23f4

Changes the name of aggregation form from Average to Mean

There were outdated tests that did not update from the deprecated
'Average' aggregation form to 'Mean'. Fix that, while simultaneously
refactoring the configuration creation and repository processing
features, into a single 'golden path' that tests boths, ensuring a very
common user task works as expected.

Signed-off-by: Daniel Miranda <danielkza2@gmail.com>
app/helpers/metric_configurations_helper.rb
1 module MetricConfigurationsHelper 1 module MetricConfigurationsHelper
2 def aggregation_options 2 def aggregation_options
3 - [[t("aggregation_forms.AVERAGE"),"AVERAGE"], [t("aggregation_forms.MEDIAN"), "MEDIAN"], [t("aggregation_forms.MAXIMUM"), "MAXIMUM"], [t("aggregation_forms.MINIMUM"), "MINIMUM"], [t("aggregation_forms.STANDARD_DEVIATION"), "STANDARD_DEVIATION"], [t("aggregation_forms.COUNT"), "COUNT"]] 3 + [[t("aggregation_forms.MEAN"),"MEAN"], [t("aggregation_forms.MEDIAN"), "MEDIAN"], [t("aggregation_forms.MAXIMUM"), "MAXIMUM"], [t("aggregation_forms.MINIMUM"), "MINIMUM"], [t("aggregation_forms.STANDARD_DEVIATION"), "STANDARD_DEVIATION"], [t("aggregation_forms.COUNT"), "COUNT"]]
4 end 4 end
5 5
6 def reading_group_options 6 def reading_group_options
config/locales/views/metric_configurations/en.yml
@@ -45,10 +45,9 @@ en: @@ -45,10 +45,9 @@ en:
45 PACKAGE: "Package" 45 PACKAGE: "Package"
46 SOFTWARE: "Software" 46 SOFTWARE: "Software"
47 aggregation_forms: 47 aggregation_forms:
48 - AVERAGE: "Average" 48 + MEAN: "Mean"
49 MEDIAN: "Median" 49 MEDIAN: "Median"
50 MAXIMUM: "Maximum" 50 MAXIMUM: "Maximum"
51 MINIMUM: "Minimum" 51 MINIMUM: "Minimum"
52 COUNT: "Count" 52 COUNT: "Count"
53 STANDARD_DEVIATION: "Standard Deviation" 53 STANDARD_DEVIATION: "Standard Deviation"
54 -  
config/locales/views/metric_configurations/pt.yml
@@ -49,7 +49,7 @@ pt: @@ -49,7 +49,7 @@ pt:
49 PACKAGE: "Pacote" 49 PACKAGE: "Pacote"
50 SOFTWARE: "Software" 50 SOFTWARE: "Software"
51 aggregation_forms: 51 aggregation_forms:
52 - AVERAGE: "Média" 52 + MEAN: "Média"
53 MEDIAN: "Mediana" 53 MEDIAN: "Mediana"
54 MAXIMUM: "Máxima" 54 MAXIMUM: "Máxima"
55 MINIMUM: "Mínima" 55 MINIMUM: "Mínima"
features/golden_path/configure_and_process.feature 0 → 100644
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +Feature: Create a new native configuration and process a repository using it
  2 + In order to view the results of a ruby repository
  3 + As a regular user
  4 + I should be able to configure a set of metrics and process a repository using them
  5 +
  6 + @kalibro_configuration_restart @kalibro_processor_restart @javascript
  7 + Scenario: Create a ruby configuration and process a ruby repository
  8 + Given I am a regular user
  9 + And I am signed in
  10 + And I own a sample configuration
  11 + And I have a reading group named "Scholar"
  12 + And I have a sample repository
  13 + And I am at the Sample Configuration page
  14 + And I click the Add Metric link
  15 + And I click the "MetricFu" h3
  16 + And I click the Pain link
  17 + And I fill the Weight field with "2"
  18 + And I set the select field "Aggregation Form" as "Mean"
  19 + And I set the select field "Reading Group" as "Scholar"
  20 + When I press the Save button
  21 + Then I should see "Pain"
  22 + And I should see "2"
  23 + When I start to process that repository
  24 + And I wait up for a ready processing
  25 + And I ask for the last ready processing of the given repository
  26 + And I ask for the module result of the given processing
  27 + And I ask for the metric results of the given module result
  28 + When I visit the repository show page
  29 + And I click the "Tree Metric Results" h3
  30 + Then I should see the sample metric's name
  31 + And I should see the ruby metric results
features/repository/show/metric_results.feature
@@ -51,22 +51,6 @@ Feature: Repository metric results @@ -51,22 +51,6 @@ Feature: Repository metric results
51 And I click the "Tree Metric Results" h3 51 And I click the "Tree Metric Results" h3
52 Then I should see "Repository process returned with error. There are no tree metric results." 52 Then I should see "Repository process returned with error. There are no tree metric results."
53 53
54 - @kalibro_processor_restart @kalibro_configuration_restart @javascript  
55 - Scenario: Should show the metric results after processing with a ruby metric configuration  
56 - Given I am a regular user  
57 - And I am signed in  
58 - And I have a sample configuration with ruby native metrics  
59 - And I have a sample repository  
60 - And I start to process that repository  
61 - And I wait up for a ready processing  
62 - And I ask for the last ready processing of the given repository  
63 - And I ask for the module result of the given processing  
64 - And I ask for the metric results of the given module result  
65 - When I visit the repository show page  
66 - And I click the "Tree Metric Results" h3  
67 - Then I should see the sample metric's name  
68 - And I should see the ruby metric results  
69 -  
70 # TODO: Scenario: Should show the graphic of a given metric 54 # TODO: Scenario: Should show the graphic of a given metric
71 # It was getting really difficult to test this because of Poltergeist's timeouts 55 # It was getting really difficult to test this because of Poltergeist's timeouts
72 # so we gave up on this for now 56 # so we gave up on this for now
features/tree_metric_configuration/create.feature
@@ -20,30 +20,13 @@ Feature: Tree Metric Configuration Creation @@ -20,30 +20,13 @@ Feature: Tree Metric Configuration Creation
20 And I click the "Analizo" h3 20 And I click the "Analizo" h3
21 And I click the Total Lines of Code link 21 And I click the Total Lines of Code link
22 And I fill the Weight field with "2" 22 And I fill the Weight field with "2"
23 - And I set the select field "Aggregation Form" as "Average" 23 + And I set the select field "Aggregation Form" as "Mean"
24 And I set the select field "Reading Group" as "Scholar" 24 And I set the select field "Reading Group" as "Scholar"
25 When I press the Save button 25 When I press the Save button
26 Then I should see "Total Lines of Code" 26 Then I should see "Total Lines of Code"
27 Then I should see "2" 27 Then I should see "2"
28 28
29 @kalibro_configuration_restart @javascript 29 @kalibro_configuration_restart @javascript
30 - Scenario: ruby metric configuration creation  
31 - Given I am a regular user  
32 - And I am signed in  
33 - And I own a sample configuration  
34 - And I have a reading group named "Scholar"  
35 - And I am at the Sample Configuration page  
36 - And I click the Add Metric link  
37 - And I click the "MetricFu" h3  
38 - And I click the Pain link  
39 - And I fill the Weight field with "2"  
40 - And I set the select field "Aggregation Form" as "Average"  
41 - And I set the select field "Reading Group" as "Scholar"  
42 - When I press the Save button  
43 - Then I should see "Pain"  
44 - Then I should see "2"  
45 -  
46 - @kalibro_configuration_restart @javascript  
47 Scenario: metric configuration creation 30 Scenario: metric configuration creation
48 Given I am a regular user 31 Given I am a regular user
49 And I am signed in 32 And I am signed in
@@ -68,7 +51,7 @@ Feature: Tree Metric Configuration Creation @@ -68,7 +51,7 @@ Feature: Tree Metric Configuration Creation
68 And I click the "Analizo" h3 51 And I click the "Analizo" h3
69 And I click the Total Abstract Classes link 52 And I click the Total Abstract Classes link
70 And I fill the Weight field with "2" 53 And I fill the Weight field with "2"
71 - And I set the select field "Aggregation Form" as "Average" 54 + And I set the select field "Aggregation Form" as "Mean"
72 And I set the select field "Reading Group" as "Scholar" 55 And I set the select field "Reading Group" as "Scholar"
73 When I press the Save button 56 When I press the Save button
74 Then I should see "Code must be unique within a kalibro configuration" 57 Then I should see "Code must be unique within a kalibro configuration"
spec/helpers/metric_configurations_helper_spec.rb
@@ -3,7 +3,7 @@ require &#39;rails_helper&#39; @@ -3,7 +3,7 @@ require &#39;rails_helper&#39;
3 describe MetricConfigurationsHelper, :type => :helper do 3 describe MetricConfigurationsHelper, :type => :helper do
4 describe 'aggregation_form_options' do 4 describe 'aggregation_form_options' do
5 it 'should return an array with the supported aggregation forms' do 5 it 'should return an array with the supported aggregation forms' do
6 - expect(helper.aggregation_options).to eq [["Average","AVERAGE"], ["Median", "MEDIAN"], ["Maximum", "MAXIMUM"], ["Minimum", "MINIMUM"], 6 + expect(helper.aggregation_options).to eq [["Mean","MEAN"], ["Median", "MEDIAN"], ["Maximum", "MAXIMUM"], ["Minimum", "MINIMUM"],
7 ["Standard Deviation", "STANDARD_DEVIATION"], ["Count", "COUNT"]] 7 ["Standard Deviation", "STANDARD_DEVIATION"], ["Count", "COUNT"]]
8 end 8 end
9 end 9 end