@@ -788,6 +788,54 @@ public function testAdvancedFilter()
788788 $ this ->assertEquals ($ hitTask ->id , $ json ['data ' ][0 ]['id ' ]);
789789 }
790790
791+ public function testAdvancedFilterByProcessRequestName ()
792+ {
793+ $ hitProcess = Process::factory ()->create (['name ' => 'foo ' ]);
794+ $ missProcess = Process::factory ()->create (['name ' => 'bar ' ]);
795+ $ hitRequest = ProcessRequest::factory ()->create ([
796+ 'process_id ' => $ hitProcess ->id ,
797+ 'name ' => $ hitProcess ->name ,
798+ ]);
799+ $ missRequest = ProcessRequest::factory ()->create ([
800+ 'process_id ' => $ missProcess ->id ,
801+ ]);
802+ $ hitTask = ProcessRequestToken::factory ()->create ([
803+ 'process_request_id ' => $ hitRequest ->id ,
804+ ]);
805+ ProcessRequestToken::factory ()->create ([
806+ 'process_request_id ' => $ missRequest ->id ,
807+ ]);
808+
809+ // Filter by operator =
810+ $ filterString = json_encode ([
811+ [
812+ 'subject ' => ['type ' => 'Field ' , 'value ' => 'process_request.name ' ],
813+ 'operator ' => '= ' ,
814+ 'value ' => $ hitProcess ->name ,
815+
816+ ],
817+ ]);
818+
819+ $ response = $ this ->apiCall ('GET ' , '/tasks ' , ['advanced_filter ' => $ filterString ]);
820+ $ json = $ response ->json ();
821+
822+ $ this ->assertEquals ($ hitTask ->id , $ json ['data ' ][0 ]['id ' ]);
823+ // Filter by operator contains
824+ $ filterString = json_encode ([
825+ [
826+ 'subject ' => ['type ' => 'Field ' , 'value ' => 'process_request.name ' ],
827+ 'operator ' => 'contains ' ,
828+ 'value ' => $ hitProcess ->name ,
829+
830+ ],
831+ ]);
832+
833+ $ response = $ this ->apiCall ('GET ' , '/tasks ' , ['advanced_filter ' => $ filterString ]);
834+ $ json = $ response ->json ();
835+
836+ $ this ->assertEquals ($ hitTask ->id , $ json ['data ' ][0 ]['id ' ]);
837+ }
838+
791839 public function testGetScreenFields ()
792840 {
793841 $ this ->be ($ this ->user );
0 commit comments