Sha256: 28c2853e91cb34eb6d2d737ae4acf331d75145bf40f5523420c39d913e9324a9

Contents?: true

Size: 1.8 KB

Versions: 14

Compression:

Stored size: 1.8 KB

Contents

require "spec_helper"

describe BazaModels::Model::Queries do
  include DatabaseHelper

  let(:user) { User.new(email: "test@example.com") }
  let(:role_user) { Role.new(user: user, role: "user") }
  let(:role_admin) { Role.new(user: user, role: "administrator") }

  it "#find" do
    user.save!
    user_found = User.find(user.id)
    expect(user_found.email).to eq "test@example.com"
  end

  describe "#find_by" do
    it "finds existing models" do
      user.save!
      user_found = User.find_by(id: 1, email: "test@example.com")
      expect(user_found.email).to eq "test@example.com"
    end

    it "returns false when nothing is found" do
      user_found = User.find_by(id: 1, email: "test@example.com")
      expect(user_found).to eq nil
    end

    it "#find_by!" do
      expect { User.find_by!(email: "doesntexist@example.com") }.to raise_error(BazaModels::Errors::RecordNotFound)
    end
  end

  describe "#find_or_initialize_by" do
    it "finds existing models" do
      user.save!
      user_found = User.find_or_initialize_by(id: 1, email: "test@example.com")
      expect(user_found.new_record?).to eq false
      expect(user_found.persisted?).to eq true
    end

    it "returns false when nothing is found" do
      user_found = User.find_or_initialize_by(email: "test@example.com")
      expect(user_found.new_record?).to eq true
      expect(user_found.persisted?).to eq false
    end

    it "#find_or_create_by" do
      user_found = User.find_or_create_by(id: 1, email: "test@example.com")
      expect(user_found.new_record?).to eq false
      expect(user_found.persisted?).to eq true
    end

    it "#find_or_create_by!" do
      user_found = User.find_or_create_by!(id: 1, email: "test@example.com")
      expect(user_found.new_record?).to eq false
      expect(user_found.persisted?).to eq true
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
baza_models-0.0.15 spec/baza_models/model/queries_spec.rb
baza_models-0.0.14 spec/baza_models/model/queries_spec.rb
baza_models-0.0.13 spec/baza_models/model/queries_spec.rb
baza_models-0.0.12 spec/baza_models/model/queries_spec.rb
baza_models-0.0.11 spec/baza_models/model/queries_spec.rb
baza_models-0.0.10 spec/baza_models/model/queries_spec.rb
baza_models-0.0.9 spec/baza_models/model/queries_spec.rb
baza_models-0.0.8 spec/baza_models/model/queries_spec.rb
baza_models-0.0.7 spec/baza_models/model/queries_spec.rb
baza_models-0.0.6 spec/baza_models/model/queries_spec.rb
baza_models-0.0.5 spec/baza_models/model/queries_spec.rb
baza_models-0.0.4 spec/baza_models/model/queries_spec.rb
baza_models-0.0.3 spec/baza_models/model/queries_spec.rb
baza_models-0.0.2 spec/baza_models/model/queries_spec.rb