Sha256: ddac8ef1548bab2a2ee763934e510e37256add49c5264a83bb25555544f24ea1

Contents?: true

Size: 1.25 KB

Versions: 6

Compression:

Stored size: 1.25 KB

Contents

require "spec_helper"

describe Mongoid::Validatable::UniquenessValidator do

  describe "#valid?" do

    context "when the document is a root document" do

      context "when the document is paranoid" do

        before do
          ParanoidPost.validates_uniqueness_of :title
        end

        after do
          ParanoidPost.reset_callbacks(:validate)
        end

        let!(:post) do
          ParanoidPost.create(title: "testing")
        end

        context "when the field is unique" do

          let(:new_post) do
            ParanoidPost.new(title: "test")
          end

          it "returns true" do
            expect(new_post).to be_valid
          end
        end

        context "when the field is unique for non soft deleted docs" do

          before do
            post.delete
          end

          let(:new_post) do
            ParanoidPost.new(title: "testing")
          end

          it "returns true" do
            expect(new_post).to be_valid
          end
        end

        context "when the field is not unique" do

          let(:new_post) do
            ParanoidPost.new(title: "testing")
          end

          it "returns false" do
            expect(new_post).not_to be_valid
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mongoid-paranoia-1.3.0 spec/mongoid/validatable/uniqueness_spec.rb
mongoid-paranoia-1.2.0 spec/mongoid/validatable/uniqueness_spec.rb
mongoid-paranoia-1.1.0 spec/mongoid/validatable/uniqueness_spec.rb
mongoid-paranoia-1.0.1 spec/mongoid/validatable/uniqueness_spec.rb
mongoid-paranoia-1.0.0 spec/mongoid/validatable/uniqueness_spec.rb
mongoid-paranoia-1.0.0.beta2 spec/mongoid/validatable/uniqueness_spec.rb