Sha256: a4699792814e8ef79723987a708a04fb4a470ce27e3991d625414d74da4702cb
Contents?: true
Size: 1.97 KB
Versions: 6
Compression:
Stored size: 1.97 KB
Contents
# frozen_string_literal: true, encoding: ASCII-8BIT require File.expand_path("../support", __FILE__) class BaseTest < CouchbaseOrm::Base attribute :name, :job end class CompareTest < CouchbaseOrm::Base attribute :age end describe CouchbaseOrm::Base do it "should be comparable to other objects" do base = BaseTest.create!(name: 'joe') base2 = BaseTest.create!(name: 'joe') expect(base).to eq(base) expect(base).to be(base) expect(base).not_to eq(base2) same_base = BaseTest.find(base.id) expect(base).to eq(same_base) expect(base).not_to be(same_base) expect(base2).not_to eq(same_base) base.delete base2.delete end it "should load database responses" do base = BaseTest.create!(name: 'joe') resp = BaseTest.bucket.get(base.id, extended: true) expect(resp.key).to eq(base.id) base_loaded = BaseTest.new(resp) expect(base_loaded).to eq(base) expect(base_loaded).not_to be(base) base.destroy end it "should not load objects if there is a type mismatch" do base = BaseTest.create!(name: 'joe') expect { CompareTest.find_by_id(base.id) }.to raise_error(RuntimeError) base.destroy end it "should support serialisation" do base = BaseTest.create!(name: 'joe') base_id = base.id expect(base.to_json).to eq({name: 'joe', job: nil, id: base_id}.to_json) expect(base.to_json(only: :name)).to eq({name: 'joe'}.to_json) base.destroy end it "should try to load a model with nothing but an ID" do begin base = BaseTest.create!(name: 'joe') obj = CouchbaseOrm.try_load(base.id) expect(obj).to eq(base) ensure base.destroy end end describe BaseTest do it_behaves_like "ActiveModel" end describe CompareTest do it_behaves_like "ActiveModel" end end
Version data entries
6 entries across 6 versions & 1 rubygems