diff --git a/lib/software_database.rb b/lib/software_database.rb index 95e78c7..5912b1f 100644 --- a/lib/software_database.rb +++ b/lib/software_database.rb @@ -8,5 +8,4 @@ class SoftwareDatabase < ActiveRecord::Base validates_length_of :operating_system, maximum: 20, too_long: _("Software database is too long (maximum is 20 characters)") validates_presence_of :database_description_id, :version, :operating_system - end diff --git a/test/unit/software_database_test.rb b/test/unit/software_database_test.rb new file mode 100644 index 0000000..ad8b915 --- /dev/null +++ b/test/unit/software_database_test.rb @@ -0,0 +1,39 @@ +require File.dirname(__FILE__) + '/../../../../test/test_helper' + +class SoftwareDatabaseTest < ActiveSupport::TestCase + DatabaseDescription.create!(name: "MySQL") + + def setup + @software_database = SoftwareDatabase.new(:version => "1.0", :operating_system => "Debian") + @software_database.database_description_id = 1 + end + + should "save if all informations are filled" do + assert @software_database.save, "Database should have been saved" + end + + should "not save if database description id is empty" do + @software_database.database_description_id = nil + assert !@software_database.save, "Database description must be filled" + end + + should "not save if version is empty" do + @software_database.version = nil + assert !@software_database.save, "Version must be filled" + end + + should "not save if version has more than 20 characters" do + @software_database.version = "a"*21 + assert !@software_database.save, "Version must have until 20 characters" + end + + should "not save if operating system is empty" do + @software_database.operating_system = nil + assert !@software_database.save, "Operating system must be filled" + end + + should "not save if operating system has more than 20 characters" do + @software_database.operating_system = "a"*21 + assert !@software_database.save, "Operating system must have until 20 characters" + end +end -- libgit2 0.21.2