Test for copy() compatibility
Peter Rabbitson [Sun, 25 Apr 2010 16:29:07 +0000 (16:29 +0000)]
Makefile.PL
t/lib/TreeTest.pm
t/lib/TreeTest/Schema/Node.pm

index cfcde51..2074e79 100644 (file)
@@ -14,6 +14,7 @@ readme_from     'lib/DBIx/Class/Tree.pm';
 resources 'repository'  => 'http://dev.catalyst.perl.org/repos/bast/DBIx-Class-Tree/';
 
 requires        'DBIx::Class' => '0.08100';
+test_requires   'Test::Exception';
 
 WriteAll;
 
index e77eea1..d7228ff 100644 (file)
@@ -3,12 +3,13 @@ use strict;
 use warnings;
 
 use Test::More;
+use Test::Exception;
 use TreeTest::Schema;
 
 our $NODE_COUNT = 80;
 
 sub count_tests {
-    my $count = 13;
+    my $count = 14;
     if( TreeTest::Schema::Node->can('position_column') ){
         $count ++;
     }
@@ -27,6 +28,12 @@ sub run_tests {
         my $node = $nodes->create({ name=>'child' });
         $node->parent( $parent_id );
     }
+
+    lives_and ( sub {
+      warn "BEGIN!!!!!\n\n";
+      is( $nodes->find(3)->copy({name => 'special'})->name,'special','copy test');
+    }, 'copy does not throw');
+
     ok( ($nodes->count()==81), 'correct number of nodes in random tree' );
     ok( ($nodes->find(3)->children->count()==7), 'node 3 has correct number of children' );
     ok( ($nodes->find(22)->children->count()==3), 'node 22 has correct number of children' );
index 9c36d9e..2d887b0 100644 (file)
@@ -2,8 +2,6 @@ package TreeTest::Schema::Node;
 use strict;
 use warnings;
 
-use Carp qw( croak );
-
 use base qw( DBIx::Class );
 
 __PACKAGE__->load_components(qw(
@@ -13,14 +11,16 @@ __PACKAGE__->load_components(qw(
 
 __PACKAGE__->table('nodes');
 
-__PACKAGE__->add_columns(qw(
-    node_id
+__PACKAGE__->add_columns(
+    node_id => { is_auto_increment => 1 },
+  qw/
     name
     parent_id
     position
     lft
     rgt
-));
+  /
+);
 
 __PACKAGE__->set_primary_key( 'node_id' );