File: ProxyResultSetUpdate.t

package info (click to toggle)
libdbix-class-helpers-perl 2.036000-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,008 kB
  • sloc: perl: 5,041; sql: 537; makefile: 7
file content (43 lines) | stat: -rw-r--r-- 917 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!perl

use strict;
use warnings;

use lib 't/lib';
use Test::More;
use Test::Deep;
use Test::Fatal;

use TestSchema;
my $schema = TestSchema->deploy_or_connect();
$schema->prepopulate;
my $rs = $schema->resultset('Bloaty');

$rs->search({ id => 1000 })->delete;
my $row = $schema->resultset('Bloaty')->create({
   id => 1000,
   name => 'woo',
   literature => 'bored',
   your_mom => 'hyuug',
});

$row->name('woot');

$row->update({ literature => 'exciting' });

cmp_deeply(
   [{
      name => 'woot',
      literature => 'exciting',
   }],
   \@TestSchema::ResultSet::Bloaty::stuff,
   'update correctly proxied',
);

$rs->search({ id => 1000 })->update({ id => 999 });
my $e = exception { $row->update({ literature => 'wonderful' }) };
like($e, qr/row not found/, 'dies when row gone missing');

#like($e, qr/updated more than one row/, 'dies when row ambiguous'); # not sure how to provoke this

done_testing;