use Data::Dumper;
use Support::TestSetup;
use SL::DB::Part;
-use SL::Dev::Part;
+use SL::Dev::Part qw(new_part);
Support::TestSetup::login();
# test simple transaction
-my $part = create_part();
+my $part = new_part();
SL::DB->client->with_transaction(sub {
$part->save;
ok 1, 'part saved';
};
# test failing transaction
-my $part2 = create_part(partnumber => $part->partnumber); # woops, duplicate partnumber
+my $part2 = new_part(partnumber => $part->partnumber); # woops, duplicate partnumber
SL::DB->client->with_transaction(sub {
$part2->save;
ok 0, 'part saved';
# TODO - not possible to test without locally adding hooks in run time
# test if error gets correctly stored in db->error
-$part2 = create_part(partnumber => $part->partnumber); # woops, duplicate partnumber
+$part2 = new_part(partnumber => $part->partnumber); # woops, duplicate partnumber
SL::DB->client->with_transaction(sub {
$part2->save;
ok 0, 'part saved';
1;
}) or do {
- like(SL::DB->client->error, qr/duplicate key value violates unique constraint/, 'error is in db->error');
+ like(SL::DB->client->error, qr/unique.constraint/i, 'error is in db->error');
};
# test stacked transactions
1;
}) or do {
ok 1, 'sql error in nested transaction rolls back';
- like(SL::DB->client->error, qr/duplicate key value violates unique constraint/, 'error from nested transaction is in db->error');
+ like(SL::DB->client->error, qr/unique.constraint/i, 'error from nested transaction is in db->error');
};
$part->load;
$part->load;
is $part->sellprice, "3.00000", 'saved part is not affected';
-