Sha256: d179f00fc925d35a75a00534503a8ea6dbedc0c4abb71c2d3bec7760ad316f69

Contents?: true

Size: 1.92 KB

Versions: 16

Compression:

Stored size: 1.92 KB

Contents

require 'spec_helper'

describe ValidatesTimeliness::Validator, ":before option" do
  describe "for date type" do
    before do
      Person.validates_date :birth_date, :before => Date.new(2010, 1, 1)
    end

    it "should not be valid for date after restriction" do
      invalid!(:birth_date, Date.new(2010, 1, 2), 'must be before 2010-01-01')
    end

    it "should not be valid for same date value" do
      invalid!(:birth_date, Date.new(2010, 1, 1), 'must be before 2010-01-01')
    end

    it "should be valid for date before restriction" do
      valid!(:birth_date, Date.new(2009, 12, 31))
    end
  end

  describe "for time type" do
    before do
      Person.validates_time :birth_time, :before => Time.mktime(2000, 1, 1, 12, 0, 0)
    end

    it "should not be valid for time after restriction" do
      invalid!(:birth_time, Time.local_time(2000, 1, 1, 12, 00, 01), 'must be before 12:00:00')
    end

    it "should not be valid for same time as restriction" do
      invalid!(:birth_time, Time.local_time(2000, 1, 1, 12, 0, 0), 'must be before 12:00:00')
    end

    it "should be valid for time before restriction" do
      valid!(:birth_time, Time.local_time(2000, 1, 1, 11, 59, 59))
    end
  end

  describe "for datetime type" do
    before do
      Person.validates_datetime :birth_datetime, :before => DateTime.civil_from_format(:local, 2010, 1, 1, 12, 0, 0)
    end

    it "should not be valid for datetime after restriction" do
      invalid!(:birth_datetime, DateTime.civil_from_format(:local, 2010, 1, 1, 12, 0, 1), 'must be before 2010-01-01 12:00:00')
    end

    it "should not be valid for same datetime as restriction" do
      invalid!(:birth_datetime, DateTime.civil_from_format(:local, 2010, 1, 1, 12, 0, 0), 'must be before 2010-01-01 12:00:00')
    end

    it "should be valid for datetime before restriction" do
      valid!(:birth_datetime, DateTime.civil_from_format(:local, 2010, 1, 1, 11, 59, 59))
    end
  end
end

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
validates_timeliness-3.0.15 spec/validates_timeliness/validator/before_spec.rb
sc_core-0.0.7 test/dummy/vendor/bundle/ruby/2.2.0/gems/validates_timeliness-3.0.14/spec/validates_timeliness/validator/before_spec.rb
sp-validates_timeliness-3.1.3 spec/validates_timeliness/validator/before_spec.rb
sp-validates_timeliness-3.1.2 spec/validates_timeliness/validator/before_spec.rb
jc-validates_timeliness-3.1.1 spec/validates_timeliness/validator/before_spec.rb
jc-validates_timeliness-3.1.0 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.14 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.13 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.12 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.11 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.10 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.9 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.8 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.7 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.6 spec/validates_timeliness/validator/before_spec.rb
validates_timeliness-3.0.5 spec/validates_timeliness/validator/before_spec.rb