use lib 't';
-use Test::More tests => 17;
+use Test::More tests => 18;
use Test::Deep;
use Data::Dumper;
my ($filter, $expect, $msg, %params) = @_;
my $target = delete $params{target};
my $args = { parse_filter($filter, %params) };
- my $got = $args;
+ my $got = $args; $target ||= '';
$got = $filter if $target =~ /filter/;
$got = $params{launder_to} if $target =~ /launder/;
cmp_deeply(
}
}, {
query => [ 'customer.chart.accno' => 'test' ],
- with_objects => bag( 'customer', 'chart' ),
+ with_objects => bag( 'customer', 'customer.chart' ),
}, 'nested joins';
test {
},
{
query => [ 'customer.chart.accno' => { like => '%1200' } ],
- with_objects => bag('customer', 'chart' ),
+ with_objects => bag('customer', 'customer.chart' ),
}, 'all together';
'invoice.customer.name' => 'test',
'customer.name' => 'test',
}} ],
- 'with_objects' => bag( 'invoice', 'customer' )
+ 'with_objects' => bag( 'invoice.customer', 'customer', 'invoice' )
}, 'object in more than one relationship';
test {
}
}, 'deep laundering, check for laundered hash', target => 'launder', launder_to => { };
+### bug: sub objects
+
+test {
+ order => {
+ customer => {
+ 'name:substr::ilike' => 'test',
+ }
+ }
+}, {
+ query => [ 'order.customer.name' => { ilike => '%test%' } ],
+ with_objects => bag('order.customer', 'order'),
+}, 'sub objects have to retain their prefix';
+