veneer 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. data/..gemspec +21 -0
  2. data/.gitignore +2 -5
  3. data/Gemfile +4 -0
  4. data/README.md +171 -0
  5. data/Rakefile +3 -36
  6. data/lib/..rb +3 -0
  7. data/lib/veneer/adapters/active_record.rb +1 -1
  8. data/lib/veneer/adapters/activerecord/class_wrapper.rb +11 -79
  9. data/lib/veneer/adapters/activerecord/instance_wrapper.rb +3 -11
  10. data/lib/veneer/adapters/activerecord/pre_3.0_class_wrapper.rb +24 -0
  11. data/lib/veneer/adapters/activerecord/pre_3.0_instance_wrapper.rb +15 -0
  12. data/lib/veneer/adapters/activerecord.rb +9 -2
  13. data/lib/veneer/adapters/data_mapper.rb +1 -1
  14. data/lib/veneer/adapters/datamapper/class_wrapper.rb +29 -50
  15. data/lib/veneer/adapters/datamapper/instance_wrapper.rb +3 -14
  16. data/lib/veneer/adapters/mongomapper/class_wrapper.rb +2 -56
  17. data/lib/veneer/adapters/mongomapper.rb +2 -2
  18. data/lib/veneer/base/class_wrapper.rb +46 -11
  19. data/lib/veneer/base/instance_wrapper.rb +12 -14
  20. data/lib/veneer/core_ext/kernel.rb +0 -1
  21. data/lib/veneer/errors.rb +0 -1
  22. data/lib/veneer/lint.rb +183 -0
  23. data/lib/veneer/version.rb +3 -0
  24. data/lib/veneer.rb +1 -4
  25. data/test/test_helper.rb +4 -3
  26. data/test/veneer/adapters/{active_record/active_record_setup.rb → test_active_record.rb} +23 -1
  27. data/test/veneer/adapters/test_datamapper.rb +56 -0
  28. data/test/veneer/adapters/test_mongomapper.rb +49 -0
  29. data/test/veneer/proxy_test.rb +20 -45
  30. data/veneer.gemspec +15 -108
  31. metadata +40 -60
  32. data/README.textile +0 -142
  33. data/VERSION +0 -1
  34. data/datamapper_setup.rb +0 -2
  35. data/lib/veneer/base/conditional.rb +0 -77
  36. data/test/macros/class_wrapper/create_macro.rb +0 -54
  37. data/test/macros/class_wrapper/delete_macro.rb +0 -31
  38. data/test/macros/class_wrapper/find_macro.rb +0 -119
  39. data/test/macros/class_wrapper/hooks.rb +0 -41
  40. data/test/macros/class_wrapper/validations.rb +0 -91
  41. data/test/macros/instance_wrapper/destroy_macro.rb +0 -36
  42. data/test/macros/instance_wrapper/new_record_macro.rb +0 -39
  43. data/test/macros/instance_wrapper/save_macro.rb +0 -55
  44. data/test/macros/veneer_constants_interface.rb +0 -26
  45. data/test/support/before_save_mixin.rb +0 -14
  46. data/test/support/valiations_method_method.rb +0 -0
  47. data/test/veneer/adapters/active_record/class_wrapper_test.rb +0 -23
  48. data/test/veneer/adapters/active_record/instance_wrapper_test.rb +0 -21
  49. data/test/veneer/adapters/datamapper/class_wrapper_test.rb +0 -24
  50. data/test/veneer/adapters/datamapper/datamapper_setup.rb +0 -34
  51. data/test/veneer/adapters/datamapper/instance_wrapper_test.rb +0 -21
  52. data/test/veneer/adapters/mongomapper/class_wrapper_test.rb +0 -24
  53. data/test/veneer/adapters/mongomapper/instance_wrapper_test.rb +0 -21
  54. data/test/veneer/adapters/mongomapper/mongomapper_setup.rb +0 -25
  55. data/test/veneer/base/conditonal_test.rb +0 -118
@@ -1,119 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_find
3
- context "implements find" do
4
- setup do
5
- Veneer(@klass).destroy_all
6
- (0..5).each do |i|
7
- Veneer(@klass).new(:order_field1 => i).save!
8
- end
9
- end
10
-
11
- teardown{ Veneer(@klass).destroy_all }
12
-
13
- should "impelement a find_all method" do
14
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
15
- assert_kind_of Array, result
16
- end
17
-
18
- should "implement a find_first method" do
19
- result = Veneer(@klass).find_first(Veneer::Conditional.from_hash({}))
20
- end
21
-
22
- should "implement limit" do
23
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
24
- assert_not_equal 3, total.size
25
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:limit => 3))
26
- assert_equal 3, result.size
27
- end
28
-
29
- should "implement order" do
30
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:order => "order_field1 asc"))
31
- raw = result.map{|i| i.order_field1 }.compact
32
- sorted = raw.sort
33
- assert_equal raw, sorted
34
- end
35
-
36
- should "implement asc and desc order as opposites" do
37
- result_asc = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:order => "order_field1 asc")).map{|o| o.order_field1}
38
- result_desc = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:order => "order_field1 desc")).map{|o| o.order_field1}
39
-
40
- assert_equal result_asc, result_desc.reverse
41
- end
42
-
43
- should "implement order decending" do
44
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:order => "order_field1 desc"))
45
- raw = result.map{|i| i.order_field1 }.compact
46
- sorted = raw.sort.reverse
47
- assert_equal raw, sorted
48
- end
49
-
50
- should "implement order ascending" do
51
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:order => "order_field1 asc"))
52
- raw = result.map{|i| i.order_field1}.compact
53
- sorted = raw.sort
54
- assert_equal raw, sorted
55
- end
56
-
57
- should "impelment offset" do
58
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
59
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash({:offset => 2, :limit => 2}))
60
-
61
- assert_equal((total[2..3]), result)
62
- end
63
-
64
- context "conditions" do
65
- setup do
66
- Veneer(@klass).new(:name => "bar").save
67
- Veneer(@klass).new(:name => "foo").save
68
- Veneer(@klass).new(:name => "foobar").save
69
- end
70
-
71
- should "implement basic conditions" do
72
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
73
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {:name => "foo"}))
74
- assert_equal 1, result.size
75
- end
76
-
77
- should "implement :not conditions" do
78
- Veneer(@klass).all(:conditions => {:name => nil}).map(&:destroy)
79
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
80
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"name not" => "bar"}))
81
- assert_equal((total.size - 1), result.size)
82
- end
83
-
84
- should "implement gt conditions" do
85
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
86
- expected = total.select{|i| !i.order_field1.nil? && i.order_field1 > 3}
87
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"order_field1 gt" => 3}))
88
- assert_equal expected.size, result.size
89
- end
90
-
91
- should "implement gte conditions" do
92
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
93
- expected = total.select{|i| !i.order_field1.nil? && i.order_field1 >= 3}.map{|i| i.order_field1}
94
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"order_field1 gte" => 3})).map{|o| o.order_field1}
95
- assert_equal expected, result
96
- end
97
-
98
- should "implement :lt condition" do
99
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"order_field1 lt" => 3}))
100
- assert_equal 3, result.size
101
- end
102
-
103
- should "implement a lte condition" do
104
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
105
- expected = total.select{|i| !i.order_field1.nil? && i.order_field1 <= 3}
106
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"order_field1 lte" => 3}))
107
- assert_equal expected.size, result.size
108
- end
109
-
110
- should "implement an :in condition" do
111
- total = Veneer(@klass).find_many(Veneer::Conditional.from_hash({}))
112
- expected = total.select{|i| ["foo", "bar"].include?(i.name)}
113
- result = Veneer(@klass).find_many(Veneer::Conditional.from_hash(:conditions => {"name in" => ["foo", "bar"]}))
114
- assert_equal expected.size, result.size
115
- end
116
- end
117
- end
118
- end
119
- end
@@ -1,41 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_before_save_hooks
3
- context "impelements before_save" do
4
- should "setup the test correctly" do
5
- assert_not_nil @klass
6
- assert_kind_of Class, @klass
7
- assert_not_nil @valid_attributes
8
- assert_kind_of Hash, @valid_attributes
9
- end
10
-
11
- context "before_save" do
12
- setup do
13
- $captures = []
14
- Veneer(@klass).before_save :check_before_save
15
- @klass.class_eval do
16
- include Veneer::Test::BeforeSaveSetup
17
- end unless Veneer::Test::BeforeSaveSetup > @klass
18
- end
19
-
20
- teardown{ $captures = [] }
21
-
22
- should "run the before save block" do
23
- Veneer(@klass).new(@valid_attributes).save
24
- assert_contains $captures, :check_before_save
25
- end
26
-
27
- should "allow me to raise inside the before save without propergating the issue further" do
28
- assert_nothing_raised do
29
- Veneer(@klass).new(@valid_attributes.merge(:name => "raise_on_before_save")).save
30
- end
31
- end
32
-
33
- should "allow me to save! with an invalid before_save hook and do the right thing" do
34
- assert_raise(::Veneer::Errors::NotSaved) do
35
- Veneer(@klass).new(@valid_attributes.merge(:name => "raise_on_before_save")).save!
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,91 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_validations
3
- context "implements validations" do
4
- setup do
5
- Veneer(@klass).destroy_all
6
- end
7
-
8
- should "setup the test correctly" do
9
- assert_not_nil @klass
10
- assert_kind_of Class, @klass
11
- assert_not_nil @valid_attributes
12
- assert_kind_of Hash, @valid_attributes
13
- assert_not_nil @valid_attributes[:name]
14
- end
15
-
16
- context "validates_presence_of" do
17
- setup do
18
- key = [@klass, :validates_presence_of, :name]
19
- unless $validations.include?(key)
20
- Veneer(@klass).validates_presence_of(:name)
21
- $validations << key
22
- end
23
- end
24
-
25
- should "allow addition of a validation for presence_of" do
26
- attr = @valid_attributes.dup
27
- attr.delete(:name)
28
- k = Veneer(@klass).new(attr)
29
- assert_false k.valid?
30
- end
31
- end
32
-
33
- context "validates_uniqueness_of" do
34
- setup do
35
- key = [@klass, :validates_uniqueness_of, :name]
36
- unless $validations.include?(key)
37
- Veneer(@klass).validates_uniqueness_of(:name)
38
- $validations << key
39
- end
40
- end
41
-
42
- should "not allow duplicate data" do
43
- k = Veneer(@klass).new(@valid_attributes)
44
- assert_true k.save
45
- k2 = Veneer(@klass).new(@valid_attributes)
46
- assert_false k2.valid?
47
- end
48
-
49
- # TODO: Get some introspection of validations happening
50
- should "allow_non duplicate data" do
51
- k = Veneer(@klass).new(@valid_attributes)
52
- assert_true k.save
53
- k2 = Veneer(@klass).new(@valid_attributes.merge(:name => "not a duplicate"))
54
- assert_true k2.save
55
- end
56
- end
57
-
58
- context "validates_confirmation_of" do
59
- setup do
60
- key = [@klass, :validates_confirmation_of, :password]
61
- unless $validations.include?(key)
62
- Veneer(@klass).validates_confirmation_of(:password)
63
- $validations << key
64
- end
65
- end
66
-
67
- should "be invalid without confirmation" do
68
- k = Veneer(@klass).new(@valid_attributes)
69
- k.password_confirmation = "Not Confirmed"
70
- assert_false k.valid?
71
- end
72
- end
73
-
74
- context "validates_with_method" do
75
- setup do
76
- key = [@klass, :validates_with_method, :v_with_m_test]
77
- unless $validations.include?(key)
78
- Veneer(@klass).validates_with_method(:v_with_m_test)
79
- $validations << key
80
- end
81
- end
82
-
83
- should "be invalid with an invalid through v_with_m_test" do
84
- k = Veneer(@klass).new(@valid_attributes)
85
- k.name = "v_with_m_test"
86
- assert_false k.valid?
87
- end
88
- end
89
- end
90
- end
91
- end
@@ -1,36 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_destroy
3
- context "on an instance" do
4
- should "setup the test correctly" do
5
- assert_not_nil @klass
6
- assert_kind_of Class, @klass
7
- assert_not_nil @valid_attributes
8
- assert_kind_of Hash, @valid_attributes
9
- end
10
-
11
- setup do
12
- Veneer(@klass).destroy_all
13
- @valid = Veneer(@klass).new(@valid_attributes)
14
- end
15
-
16
- should "setup the spec" do
17
- assert @valid.save
18
- r = Veneer(@klass).first(:conditions => {:name => @valid.instance.name})
19
- assert_equal @valid, r
20
- end
21
-
22
- should "destroy the object" do
23
- @valid.save
24
- v = @valid
25
- assert_equal v, @valid.destroy
26
- end
27
-
28
- should "remove the object from the collection" do
29
- @valid.save
30
- assert_equal @valid, Veneer(@klass).first(:conditions => {:name => @valid.name})
31
- @valid.destroy
32
- assert_nil Veneer(@klass).first(:conditions => {:name => @valid.name})
33
- end
34
- end
35
- end
36
- end
@@ -1,39 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_new_record?
3
- context "on an instance" do
4
- setup do
5
- Veneer(@klass).destroy_all
6
- end
7
-
8
- should "setup the test correctly" do
9
- assert_not_nil @klass
10
- assert_kind_of Class, @klass
11
- assert_not_nil @valid_attributes
12
- assert_kind_of Hash, @valid_attributes
13
- assert_kind_of Hash, @invalid_attributes
14
- end
15
-
16
- setup do
17
- @instance = Veneer(@klass).new(@valid_attributes)
18
- end
19
-
20
- context "new_record" do
21
- should "return true when the record is new" do
22
- assert @instance.new_record?
23
- end
24
-
25
- should "return false when the record is successfully saved" do
26
- assert @instance.save
27
- assert !@instance.new_record?
28
- end
29
-
30
- should "return true if the record cannot be saved" do
31
- v = Veneer(@klass).new(@invalid_attributes)
32
- assert v.new_record?
33
- assert !v.save
34
- assert v.new_record?
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,55 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_implement_save
3
- context "on an instance" do
4
- should "setup the test correctly" do
5
- assert_not_nil @klass
6
- assert_kind_of Class, @klass
7
- assert_not_nil @valid_attributes
8
- assert_kind_of Hash, @valid_attributes
9
- assert_kind_of Hash, @invalid_attributes
10
- end
11
-
12
- setup do
13
- @invalid = Veneer(@klass).new(@invalid_attributes)
14
- @valid = Veneer(@klass).new(@valid_attributes)
15
- end
16
-
17
- context "save" do
18
- should "return true when it can save" do
19
- assert @valid.save
20
- end
21
-
22
- should "return false when it can't save" do
23
- assert !@invalid.save
24
- end
25
- end
26
- end
27
- end
28
-
29
- def self.veneer_should_implement_save!
30
- context "save!" do
31
- should "setup the test correctly" do
32
- assert_not_nil @klass
33
- assert_kind_of Class, @klass
34
- assert_not_nil @valid_attributes
35
- assert_kind_of Hash, @valid_attributes
36
- assert_kind_of Hash, @invalid_attributes
37
- end
38
-
39
- setup do
40
- @invalid = Veneer(@klass).new(@invalid_attributes)
41
- @valid = Veneer(@klass).new(@valid_attributes)
42
- end
43
-
44
- should "return true when successful" do
45
- assert @valid.save!
46
- end
47
-
48
- should "raise Veneer::Errors::NotSaved when fails to save!" do
49
- assert_raises Veneer::Errors::NotSaved do
50
- @invalid.save!
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,26 +0,0 @@
1
- class Test::Unit::TestCase
2
- def self.veneer_should_have_the_required_veneer_constants
3
- context "required constants" do
4
-
5
- should "have correctly setup the spec" do
6
- assert_kind_of Class, @klass
7
- end
8
-
9
- should "have a VeneerInterface constant" do
10
- assert_nothing_raised do
11
- @klass::VeneerInterface
12
- end
13
- end
14
-
15
- should "have a VeneerInterface::ClassWrapper" do
16
- assert_nothing_raised do
17
- @klass::VeneerInterface::ClassWrapper
18
- end
19
- end
20
-
21
- should "inherit the class wrapper from the base class wrapper" do
22
- assert_contains @klass::VeneerInterface::ClassWrapper.ancestors, ::Veneer::Base::ClassWrapper
23
- end
24
- end
25
- end
26
- end
@@ -1,14 +0,0 @@
1
- module Veneer
2
- module Test
3
- module BeforeSaveSetup
4
- def check_before_save
5
- $captures << :check_before_save
6
- if name == "raise_on_before_save"
7
- raise Veneer::Errors::BeforeSaveError, [:name, "cannot be raise_on_before_save"]
8
- else
9
- true
10
- end
11
- end
12
- end
13
- end
14
- end
File without changes
@@ -1,23 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require File.join(File.dirname(__FILE__), "active_record_setup")
3
-
4
- module Veneer
5
- module Test
6
- class ActiveRecordClassWrapper < ::Test::Unit::TestCase
7
- context "Active Record Veneer Adapter" do
8
- setup do
9
- @klass = ::ActiveRecordFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
- veneer_should_have_the_required_veneer_constants
14
- veneer_should_implement_create_with_valid_attributes
15
- veneer_should_impelement_destroy_all
16
- veneer_should_implement_create_with_invalid_attributes
17
- veneer_should_implement_find
18
- veneer_should_implement_before_save_hooks
19
- veneer_should_implement_validations
20
- end
21
- end
22
- end
23
- end
@@ -1,21 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require File.join(File.dirname(__FILE__), "active_record_setup")
3
-
4
- module Veneer
5
- module Test
6
- class ActiveRecordInstanceWrapper < ::Test::Unit::TestCase
7
- context "Active Record Veneer Adapter" do
8
- setup do
9
- @klass = ::ActiveRecordFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
-
14
- veneer_should_implement_new_record?
15
- veneer_should_implement_save
16
- veneer_should_implement_save!
17
- veneer_should_implement_destroy
18
- end
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require File.join(File.dirname(__FILE__), "datamapper_setup")
3
-
4
- module Veneer
5
- module Test
6
- class DataMapperClassWrapper < ::Test::Unit::TestCase
7
- context "DataMapper Veneer Adapter" do
8
- setup do
9
- @klass = DMFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
-
14
- veneer_should_have_the_required_veneer_constants
15
- veneer_should_implement_create_with_valid_attributes
16
- veneer_should_impelement_destroy_all
17
- veneer_should_implement_create_with_invalid_attributes
18
- veneer_should_implement_find
19
- veneer_should_implement_before_save_hooks
20
- veneer_should_implement_validations
21
- end
22
- end
23
- end
24
- end
@@ -1,34 +0,0 @@
1
- require 'dm-core'
2
- require 'dm-validations'
3
- require 'veneer/adapters/datamapper'
4
-
5
- DataMapper.setup(:default, 'sqlite3::memory:')
6
-
7
- class DMFoo
8
- include DataMapper::Resource
9
- attr_accessor :password, :password_confirmation
10
-
11
- property :id, Serial
12
- property :name, String
13
- property :order_field1, Integer
14
-
15
- validates_with_method :name, :method => :check_name
16
-
17
- def check_name
18
- if name == "invalid"
19
- [false, "Invalid name"]
20
- else
21
- true
22
- end
23
- end
24
-
25
- def v_with_m_test
26
- if name == "v_with_m_test"
27
- [false, "name cannot be v_with_m_test"]
28
- else
29
- true
30
- end
31
- end
32
- end
33
-
34
- DataMapper.auto_migrate!
@@ -1,21 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require File.join(File.dirname(__FILE__), "datamapper_setup")
3
-
4
- module Veneer
5
- module Test
6
- class DataMapperInstanceWrapper < ::Test::Unit::TestCase
7
- context "DataMapper Veneer Adapter" do
8
- setup do
9
- @klass = DMFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
-
14
- veneer_should_implement_new_record?
15
- veneer_should_implement_save
16
- veneer_should_implement_save!
17
- veneer_should_implement_destroy
18
- end
19
- end
20
- end
21
- end
@@ -1,24 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require ~"./mongomapper_setup"
3
-
4
- module Veneer
5
- module Test
6
- class MongoMapperClassWrapper < ::Test::Unit::TestCase
7
- context "MongoMapper Veneer Adapter" do
8
- setup do
9
- @klass = MongoFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
-
14
- veneer_should_have_the_required_veneer_constants
15
- veneer_should_implement_create_with_valid_attributes
16
- veneer_should_impelement_destroy_all
17
- veneer_should_implement_create_with_invalid_attributes
18
- veneer_should_implement_find
19
- veneer_should_implement_before_save_hooks
20
- veneer_should_implement_validations
21
- end
22
- end
23
- end
24
- end
@@ -1,21 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "..", "..", "..", "test_helper")
2
- require File.join(File.dirname(__FILE__), "mongomapper_setup")
3
-
4
- module Veneer
5
- module Test
6
- class MongoMapperInstanceWrapper < ::Test::Unit::TestCase
7
- context "MongoMapper Veneer Adapter" do
8
- setup do
9
- @klass = MongoFoo
10
- @valid_attributes = {:name => "foo", :password => "pass", :password_confirmation => "pass"}
11
- @invalid_attributes = @valid_attributes.dup.merge(:name => "invalid")
12
- end
13
-
14
- veneer_should_implement_new_record?
15
- veneer_should_implement_save
16
- veneer_should_implement_save!
17
- veneer_should_implement_destroy
18
- end
19
- end
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- require 'mongomapper'
2
-
3
- require 'veneer/adapters/mongomapper'
4
-
5
- MongoMapper.connection = Mongo::Connection.new('127.0.0.1', 27017)
6
- MongoMapper.database = 'veneer_test'
7
-
8
- class MongoFoo
9
- include MongoMapper::Document
10
- attr_accessor :password, :password_confirmation
11
-
12
- key :name, String
13
- key :order_field1, Integer
14
-
15
- validate_on_create :check_name
16
-
17
- def check_name
18
- errors.add(:name, "may not be invalid") if name == "invalid"
19
- end
20
-
21
- def v_with_m_test
22
- errors.add(:name, "may not be v_with_m_test") if name == "v_with_m_test"
23
- end
24
- end
25
-