From 6bdc9116c3a59737315a8812343cd54b73310ecf Mon Sep 17 00:00:00 2001 From: Daniel Alves Date: Tue, 26 Aug 2014 17:38:46 -0300 Subject: [PATCH] Created validation for weight in metric configuration form. --- app/models/metric_configuration.rb | 2 +- features/metric_configuration/edition.feature | 15 ++++++++++++++- spec/models/metric_configuration_spec.rb | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/models/metric_configuration.rb b/app/models/metric_configuration.rb index c413a8f..40501ab 100644 --- a/app/models/metric_configuration.rb +++ b/app/models/metric_configuration.rb @@ -6,7 +6,7 @@ class MetricConfiguration < KalibroGatekeeperClient::Entities::MetricConfigurati attr_accessor :code, :weight, :aggregation_form validates :code, presence: true, code_uniqueness: true - validates :weight, presence: true + validates :weight, presence: true, numericality: { greater_than: 0 } validates :aggregation_form, presence: true, unless: "metric.compound == true" def mezuro_ranges diff --git a/features/metric_configuration/edition.feature b/features/metric_configuration/edition.feature index d084a7a..ec6f3c7 100644 --- a/features/metric_configuration/edition.feature +++ b/features/metric_configuration/edition.feature @@ -36,4 +36,17 @@ Feature: Metric Configuration edition When I visit the sample metric configuration edit page And I fill the Weight field with " " And I press the Save button - Then I should see "Weight can't be blank" \ No newline at end of file + Then I should see "Weight can't be blank" + + @kalibro_restart + Scenario: Should not edit a metric configuration with invalid weight + 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 + When I visit the sample metric configuration edit page + And I fill the Weight field with "0" + And I set the select field "Aggregation Form" as "Median" + When I press the Save button + Then I should see "Weight must be greater than 0" \ No newline at end of file diff --git a/spec/models/metric_configuration_spec.rb b/spec/models/metric_configuration_spec.rb index 9ddfcdc..c767998 100644 --- a/spec/models/metric_configuration_spec.rb +++ b/spec/models/metric_configuration_spec.rb @@ -22,9 +22,10 @@ describe MetricConfiguration, :type => :model do before :each do MetricConfiguration.expects(:metric_configurations_of).at_least_once.returns([]) end - + it { is_expected.to validate_presence_of(:code) } it { is_expected.to validate_presence_of(:weight) } + it { is_expected.to validate_numericality_of(:weight) } it { is_expected.to validate_presence_of(:aggregation_form) } end -- libgit2 0.21.2