diff --git a/lib/library.rb b/lib/library.rb index de05804..7c18f9a 100644 --- a/lib/library.rb +++ b/lib/library.rb @@ -4,8 +4,10 @@ class Library < ActiveRecord::Base attr_accessible :name, :version, :license, :software_info_id - #TODO: review validations validate :validate_name, :validate_version, :validate_license + validates :name, length: { within: 0..20 } + validates_length_of :version, maximum: 20, too_long: _("Library is too long (maximum is 20 characters)") + validates_length_of :license, maximum: 20, too_long: _("Library is too long (maximum is 20 characters)") def validate_name self.errors.add(:name, _("can't be blank")) if self.name.blank? && self.errors[:name].blank? diff --git a/test/unit/library_validation_test.rb b/test/unit/library_validation_test.rb index 01e789a..f45cc9e 100644 --- a/test/unit/library_validation_test.rb +++ b/test/unit/library_validation_test.rb @@ -31,4 +31,19 @@ class LibraryValidationTest < ActiveSupport::TestCase @library.license = "" assert !@library.save end + + should "Don't save Library if name is too long" do + @library.name = "A too long name to be a valid name for library" + assert !@library.save + end + + should "Don't save Library if version is too long" do + @library.version = "A too long version to be a valid version for library" + assert !@library.save + end + + should "Don't save Library if license is too long" do + @library.license = "A too long license to be a valid license for library" + assert !@library.save + end end -- libgit2 0.21.2