From 53d782bc835b65feb8bf441276cae0f35bbf7ec0 Mon Sep 17 00:00:00 2001 From: Wendy Smoak Date: Tue, 18 Nov 2014 20:33:44 -0500 Subject: [PATCH] Prevent the creation of a garden with a negative number for the area. If entered, the area must be greater than or equal to zero. --- app/models/garden.rb | 2 +- spec/features/gardens_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/garden.rb b/app/models/garden.rb index 7f64994cc..6465a474a 100644 --- a/app/models/garden.rb +++ b/app/models/garden.rb @@ -26,7 +26,7 @@ class Garden < ActiveRecord::Base } validates :area, - :numericality => { :only_integer => false }, + :numericality => { :only_integer => false, :greater_than_or_equal_to => 0 }, :allow_nil => true AREA_UNITS_VALUES = { diff --git a/spec/features/gardens_spec.rb b/spec/features/gardens_spec.rb index 1b803a41e..6f9d9af36 100644 --- a/spec/features/gardens_spec.rb +++ b/spec/features/gardens_spec.rb @@ -33,6 +33,15 @@ feature "Planting a crop", :js => true do expect(page).to have_content "New garden" end + scenario "Refuse to create new garden with negative area" do + visit new_garden_path + fill_in "Name", :with => "Negative Garden" + fill_in "Area", :with => -5 + click_button "Save" + expect(page).not_to have_content "Garden was successfully created" + expect(page).to have_content "Area must be greater than or equal to 0" + end + scenario "Edit garden" do visit new_garden_path fill_in "Name", :with => "New garden"