test/test_document.rb in couchpillow-0.3.0 vs test/test_document.rb in couchpillow-0.3.1

- old
+ new

@@ -1,9 +1,9 @@ require 'minitest/autorun' require 'minitest/unit' require 'mocha/mini_test' -require './lib/couchpillow.rb' +require './test/helper.rb' class TestDocument < Minitest::Test Document = CouchPillow::Document @@ -14,16 +14,11 @@ @time end def setup - @db = mock('couchbaseserver') - @db.stubs(:set) - @db.stubs(:delete) - @db.stubs(:replace) - @db.stubs(:get) - CouchPillow.db = @db + CouchPillow.db = FakeCouchbaseServer.new end def test_create d = Document.new @@ -81,11 +76,11 @@ end def test_validate_custom d = Class.new(Document) do - validate :xyz, "must be Numeric", lambda { |v| v.is_a? Numeric } + validate :xyz, "must be Numeric", lambda { |v| v.is_a? Numeric } end.new d.xyz = "string" assert_raises Document::ValidationError do d.save! end @@ -129,8 +124,35 @@ assert_equal 123, d[:bar] assert_equal 123, d.bar assert_equal nil, d[:foo] refute d.respond_to?(:foo) assert_equal 'abc', d.other + end + + + def test_rename_keys_reserved_keys + assert_raises ArgumentError do + d = Class.new(Document) do + rename :_id, :bad + end.new + end + + assert_raises ArgumentError do + d = Class.new(Document) do + rename :_type, :err + end.new + end + + assert_raises ArgumentError do + d = Class.new(Document) do + rename :created_at, :err + end.new + end + + assert_raises ArgumentError do + d = Class.new(Document) do + rename :bla, :updated_at + end.new + end end end