public
Description: A less sucky way to do fixtures, sort of
Clone URL: git://github.com/pat-maddox/test_exemplars.git
create exemplars without validation

git-svn-id: svn://evang.eli.st/public/plugins/test_exemplars@1455 
82013aef-fb27-0410-99a1-c1893322ecab
pat (author)
Tue Aug 14 18:41:07 -0700 2007
commit  6ac9067fa9d46ab406b74295a6111a0f8ba149ad
tree    fff3b830e82820942208ebee8d8155a79dff11b9
parent  388e8e5a707531c6ad922c59990c498bb776920d
...
22
23
24
25
26
 
 
 
 
 
 
 
27
28
29
...
22
23
24
 
 
25
26
27
28
29
30
31
32
33
34
0
@@ -22,8 +22,13 @@ module ExemplarBuilder
0
         new_exemplar
0
       end
0
       
0
- define_method(:create_exemplar) do |*overrides|
0
- returning(exemplar(*overrides)) {|e| e.save }
0
+ define_method(:create_exemplar) do |*params|
0
+ overrides = *params
0
+ perform_validation = true
0
+ if overrides && overrides.has_key?(:perform_validation)
0
+ perform_validation = !!overrides.delete(:perform_validation)
0
+ end
0
+ returning(exemplar(overrides)) {|e| e.save perform_validation }
0
       end
0
       
0
       define_method(:create_exemplar!) do |*overrides|
...
58
59
60
 
 
 
 
 
 
 
 
 
 
61
62
...
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
0
@@ -58,4 +58,14 @@ describe ExemplarBuilder do
0
     exemplify Chicken, :name => "yeah baby", :age => 100
0
     Chicken.create_exemplar!.should_not == Chicken.create_exemplar!
0
   end
0
+
0
+ it "should allow you to create an exemplar without validations" do
0
+ class Chicken
0
+ validates_presence_of :name, :age
0
+ end
0
+
0
+ exemplify Chicken
0
+ Chicken.create_exemplar.errors.should_not be_blank
0
+ Chicken.create_exemplar(:perform_validation => false).should have(:no).errors
0
+ end
0
 end
0
\ No newline at end of file

Comments

    No one has commented yet.