File: remove-columns.t

package info (click to toggle)
libdbix-class-helpers-perl 2.013002-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 420 kB
  • sloc: perl: 1,931; sql: 73; makefile: 2
file content (68 lines) | stat: -rw-r--r-- 1,448 bytes parent folder | download | duplicates (2)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!perl

use strict;
use warnings;

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

use TestSchema;
my $schema = TestSchema->deploy_or_connect();
$schema->prepopulate;

RemoveColumns: {
   my $rs = $schema->resultset('Foo')->search({
      id => 1
   }, {
      result_class => 'DBIx::Class::ResultClass::HashRefInflator',
      'remove_columns' => ['bar_id'],
   });

   cmp_deeply [$rs->all], [{ id => 1 }], 'remove_columns works';

   cmp_deeply
      [$rs->search({ id => { '!=' => 4 } })->all],
      [{ id => 1 }],
      'chaining remove_columns works';;

   cmp_deeply
      [
         $rs->search({
            id => { '!=' => 4 }
         }, {
            '+columns' => 'bar_id'
         })->all
      ],
      [{ bar_id => 1, id => 1 }],
      'chaining and +columns works with remove_columns';
}

AutoRemoveColumns: {
   my $rs = $schema->resultset('Bloaty')->search({
      id => 1
   }, {
      result_class => 'DBIx::Class::ResultClass::HashRefInflator',
   });

   cmp_deeply [$rs->all], [{ id => 1 }], 'remove_columns works';

   cmp_deeply
      [$rs->search({ id => { '!=' => 4 } })->all],
      [{ id => 1 }],
      'chaining remove_columns works';;

   cmp_deeply
      [
         $rs->search({
            id => { '!=' => 4 }
         }, {
            '+columns' => 'name'
         })->all
      ],
      [{ name => 1, id => 1 }],
      'chaining and +columns works with remove_columns';
}

done_testing;