(travis) Work around RT#113740
[dbsrgits/DBIx-Class.git] / t / ordered / unordered_movement.t
index 9cbc3da..1684b2f 100644 (file)
@@ -1,27 +1,32 @@
+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
+
 use strict;
 use warnings;
 
 use Test::More;
 use Test::Exception;
-use lib qw(t/lib);
+
 use DBICTest;
 
 my $schema = DBICTest->init_schema();
 
 my $cd = $schema->resultset('CD')->next;
+$cd->tracks->delete;
+
+$schema->resultset('CD')->related_resultset('tracks')->delete;
+
+is $cd->tracks->count, 0, 'No tracks';
+
+$cd->create_related('tracks', { title => "t_$_", position => $_ })
+  for (4,2,3,1,5);
 
-lives_ok {
-  $cd->tracks->delete;
+is $cd->tracks->count, 5, 'Created 5 tracks';
 
-  my @tracks = map
-    { $cd->create_related('tracks', { title => "t_$_", position => $_ }) }
-    (4,2,5,1,3)
-  ;
+# a txn should force the implicit pos reload, regardless of order
+$schema->txn_do(sub {
+  $cd->tracks->delete_all
+});
 
-  for (@tracks) {
-    $_->discard_changes;
-    $_->delete;
-  }
-} 'Creation/deletion of out-of order tracks successful';
+is $cd->tracks->count, 0, 'Successfully deleted everything';
 
 done_testing;