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