Project

General

Profile

Download (1.37 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class ValidatorTest < ActiveSupport::TestCase
class ValidatedItem
include ActiveModel::Validations
attr_accessor :value
end
before do
@item = ValidatedItem.new
end

it "adds errors on wrong regexp" do
@item.value = "123"
validator = Foreman::Parameters::Validator.new(@item, :type => :regexp, :validate_with => "[a-z]", :getter => :value)
refute validator.validate!
assert @item.errors.present?
assert_equal @item.errors[:value], ["is invalid"]
end

it "validates regexp" do
@item.value = "abdfgfdger"
validator = Foreman::Parameters::Validator.new(@item, :type => :regexp, :validate_with => "[a-z]", :getter => :value)
assert validator.validate!
assert @item.errors.blank?
end

it "adds errors on wrong item" do
validator_rule = "a,b,c"
@item.value = "d"
validator = Foreman::Parameters::Validator.new(@item, :type => :list, :validate_with => validator_rule, :getter => :value)
refute validator.validate!
assert @item.errors.present?
assert_equal @item.errors[:value], ["d is not one of a,b,c"]
end

it "validates inclusion in list" do
validator_rule = "a,b,c"
@item.value = "a"
validator = Foreman::Parameters::Validator.new(@item, :type => :list, :validate_with => validator_rule, :getter => :value)
assert validator.validate!
assert @item.errors.blank?
end
end
(2-2/2)