Sha256: 730b81dda07fbf30a1393fabb8c59c0d83b8f241cadbe652041d585f0cc49a35

Contents?: true

Size: 1.23 KB

Versions: 3

Compression:

Stored size: 1.23 KB

Contents

describe Nullalign::NonnullConstraint do

  let(:nonnull_constraint) do
    Nullalign::NonnullConstraint.new(
      CorrectAccount,
      CorrectAccount.table_name,
      "city"
    )
  end

  describe "value objectiness" do
    it "holds onto model, table name, and columns" do
      expect(nonnull_constraint.model).to eq(CorrectAccount)
      expect(nonnull_constraint.table_name).to eq("correct_accounts")
      expect(nonnull_constraint.column).to eq(
        "city"
      )
    end
  end

  describe "equality test" do
    it "passes when everything matches" do
      expect(nonnull_constraint).to eq(
        Nullalign::NonnullConstraint.new(
          "CorrectAccount".constantize,
          "correct_accounts",
          "city"
        )
      )
    end

    it "fails when tables are different" do
      expect(nonnull_constraint).not_to eq(
        Nullalign::NonnullConstraint.new(
          NewCorrectAccount,
          NewCorrectAccount.table_name,
          "city"
        )
      )
    end

    it "fails when columns are different" do
      expect(nonnull_constraint).not_to eq(
        Nullalign::NonnullConstraint.new(
          CorrectAccount,
          NewCorrectAccount.table_name,
          "city"
        )
      )
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nullalign-0.0.4 spec/nonnull_constraint_spec.rb
nullalign-0.0.3 spec/nonnull_constraint_spec.rb
nullalign-0.0.2 spec/nonnull_constraint_spec.rb