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