Sha256: 046f2c8a0c49d84405cd52815c126da24c80c5816da0d14da11772277ae9768f
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 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 describe BaseTest do it_behaves_like "ActiveModel" end describe CompareTest do it_behaves_like "ActiveModel" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
couchbase-orm-0.0.2 | spec/base_spec.rb |
couchbase-orm-0.0.1 | spec/base_spec.rb |