Test the behavior of construct() with temp columns.
Michael G Schwern [Thu, 13 Mar 2008 18:49:57 +0000 (18:49 +0000)]
t/cdbi-t/construct.t

index 59adef1..e824b06 100644 (file)
@@ -6,7 +6,7 @@ use Test::More;
 BEGIN {
   eval "use DBIx::Class::CDBICompat;";
   plan $@ ? (skip_all => "Class::Trigger and DBIx::ContextualFetch required: $@")
-          : (tests=> 4);
+          : (tests=> 5);
 }
 
 INIT {
@@ -14,18 +14,32 @@ INIT {
     use Film;
 }
 
-Film->insert({
-    Title     => "Breaking the Waves",
-    Director  => 'Lars von Trier',
-    Rating    => 'R'
-});
+{
+    Film->insert({
+        Title     => "Breaking the Waves",
+        Director  => 'Lars von Trier',
+        Rating    => 'R'
+    });
 
-my $film = Film->construct({
-    Title     => "Breaking the Waves",
-    Director  => 'Lars von Trier',
-});
+    my $film = Film->construct({
+        Title     => "Breaking the Waves",
+        Director  => 'Lars von Trier',
+    });
 
-isa_ok $film, "Film";
-is $film->title, "Breaking the Waves";
-is $film->director, "Lars von Trier";
-is $film->rating, "R", "constructed objects can get missing data from the db";
\ No newline at end of file
+    isa_ok $film, "Film";
+    is $film->title,    "Breaking the Waves";
+    is $film->director, "Lars von Trier";
+    is $film->rating,   "R",
+        "constructed objects can get missing data from the db";
+}
+
+{
+    package Foo;
+    use base qw(Film);
+    Foo->columns( TEMP => qw(temp_thing) );
+    my $film = Foo->construct({
+        temp_thing  => 23
+    });
+    
+    ::is $film->temp_thing, 23, "construct sets temp columns";
+}