X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fcontrollers%2Fhelpers%2Fparse_filter.t;h=0d3db7feb15e906f6f8270fe77d92c0051f014f5;hb=c7241bf7c547d63999898dee7b5dd486e4d122d3;hp=a53c8c46929f4cebbc9e83de493b4b759ac37d04;hpb=c92f5dc6cc52c841c8d39de834903648b4577824;p=kivitendo-erp.git diff --git a/t/controllers/helpers/parse_filter.t b/t/controllers/helpers/parse_filter.t index a53c8c469..0d3db7feb 100644 --- a/t/controllers/helpers/parse_filter.t +++ b/t/controllers/helpers/parse_filter.t @@ -1,6 +1,6 @@ use lib 't'; -use Test::More tests => 36; +use Test::More tests => 41; use Test::Deep; use Data::Dumper; @@ -397,3 +397,44 @@ test { 'part.test' => { 'what', { ilike => '%2%' } }, ] }, 'additional tokens + filters + methods', class => 'SL::DB::Manager::OrderItem'; + +test { + 'orderitems.part.test.what:substr::ilike' => 2, +}, { + query => [ + 'orderitems.part.test' => { 'what', { ilike => '%2%' } }, + ] +}, 'relationship + additional tokens + filters + methods', class => 'SL::DB::Manager::Order'; + +test { + part => { + 'obsolete::lazy_bool_eq' => '0', + }, +}, { + query => [ + or => [ + 'part.obsolete' => undef, + 'part.obsolete' => 0 + ], + ], + with_objects => [ 'part' ], +}, 'complex methods modifying the key'; + + +test { + 'customer:substr::ilike' => ' Meyer' +}, { + query => [ customer => { ilike => '%Meyer%' } ] +}, 'auto trim 1'; + +test { + 'customer:head::ilike' => ' Meyer ' +}, { + query => [ customer => { ilike => 'Meyer%' } ] +}, 'auto trim 2'; + +test { + 'customer:tail::ilike' => "\nMeyer\x{a0}" +}, { + query => [ customer => { ilike => '%Meyer' } ] +}, 'auto trim 2';