+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;