Sha256: 85394089de1423007d37dc2bb56ff241c55e1f64a1f7548f95e5d32f1c0138e4

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'
require 'paranoia'


describe ParanoiaUniquenessValidator::Validations::UniquenessWithoutDeletedValidator do

  context 'with nil default_sentinel_value' do
    it "should validate uniqueness" do
      DummyModel.create(:unique_field => "unique")

      expect(DummyModel.new(:unique_field => "unique")).to_not be_valid
    end

    it "should should be valid if not unique with a deleted record" do
      dummy_model = DummyModel.create(:unique_field => "unique")
      dummy_model.destroy

      expect(DummyModel.new(:unique_field => "unique")).to be_valid
    end

  end

  context 'with datetime (non nil) default_sentinel_value' do

    before(:all) do
      if Paranoia.respond_to?(:default_sentinel_value)
        Paranoia.default_sentinel_value = DateTime.new(0)
      else
        skip('Version of paranoia does not support default_sentinel_value')
      end
    end

    it "should validate uniqueness" do
      DummyNonNilModel.create(:unique_field => "unique")
      DummyNonNilModel.new(:unique_field => "unique").should_not be_valid
    end

    it "should should be valid if not unique with a deleted record" do
      dummy_model = DummyNonNilModel.create(:unique_field => "unique")
      dummy_model.destroy
      dummy_model = DummyNonNilModel.new(:unique_field => "unique")
      dummy_model.should be_valid
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paranoia_uniqueness_validator-2.0.0 spec/validations/uniqueness_without_deleted_spec.rb