require 'spec_helper'
require 'json'
describe ValidationHelper do
# NOTE: I only tested the method I modified. -@duckinator
describe '.live_validation_for_field' do
it 'should generate the appropriate JavaScript function calls' do
options = {
presence: true,
failureMessage: "failure message.",
validMessage: "valid message.",
maximum_length: 10,
tooLongMessage: "too long message.",
minimum_length: 5,
tooShortMessage: "too short message.",
numericality: true,
notANumberMessage: "not a number message.",
exclusion: ['one', 'two', 'three']
}
expected = <<-EOF
|
EOF
expected.gsub!(/^\s*\|( |$)/, '').strip!
output = helper.live_validation_for_field(10, options)
expect(output).to eq(expected)
end
it 'should generate JavaScript for default options' do
# NOTE: defaults to:
# {
# presence: true,
# failureMessage: 'Must be present.',
# validMessage: ''
# }
options = {}
expected = <<-EOF
|
EOF
expected.gsub!(/^\s*\|( |$)/, '').strip!
output = helper.live_validation_for_field(10, options)
expect(output).to eq(expected)
end
it 'should generate nothing if presence set to false' do
options = {
presence: false
}
expected = <<-EOF
|
EOF
expected.gsub!(/^\s*\|( |$)/, '').strip!
output = helper.live_validation_for_field(10, options)
expect(output).to eq(expected)
end
end
end