diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php index 06493e73a..fb5c25dce 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php @@ -31,6 +31,95 @@ class DelegationTest extends TestCase $this->assertCount(1, $results['data']); } + /** + * This checks to make sure pagination is working properly with search by caseTitle + * @test + */ + public function it_should_return_pages_of_data_filter_default_case_title() + { + factory(\ProcessMaker\Model\User::class,100)->create(); + factory(\ProcessMaker\Model\Process::class,10)->create(); + factory(\ProcessMaker\Model\Application::class,100)->create(); + factory(Delegation::class, 51)->create(); + $search = '#'; + // Get first page, which is 25 + $results = Delegation::search(null, 0, 25, $search); + $this->assertCount(10, $results['data']); + // Get second page, which is 25 results + $results = Delegation::search(null, 25, 25, $search); + $this->assertCount(10, $results['data']); + // Get third page, which is only 1 result + $results = Delegation::search(null, 50, 25, $search); + $this->assertCount(1, $results['data']); + } + + /** + * This checks to make sure pagination is working properly with search by case title + * @test + */ + public function it_should_return_pages_of_data_filter_case_title() + { + factory(\ProcessMaker\Model\User::class,100)->create(); + factory(\ProcessMaker\Model\Process::class,10)->create(); + factory(\ProcessMaker\Model\Application::class,51)->create(); + factory(Delegation::class, 51)->create(); + $search = '#'; + // Get first page, which is 25 + $results = Delegation::search(null, 0, 25, $search, null, null, null, null, null, null, null, 'APP_TITLE'); + $this->assertCount(10, $results['data']); + // Get second page, which is 25 results + $results = Delegation::search(null, 0, 25, $search, null, null, null, null, null, null, null, 'APP_TITLE'); + $this->assertCount(10, $results['data']); + // Get third page, which is only 1 result + $results = Delegation::search(null, 0, 25, $search, null, null, null, null, null, null, null, 'APP_TITLE'); + $this->assertCount(1, $results['data']); + } + + /** + * This checks to make sure pagination is working properly with search by case number + * @test + */ + public function it_should_return_pages_of_data_filter_case_number() + { + factory(\ProcessMaker\Model\User::class,100)->create(); + factory(\ProcessMaker\Model\Process::class,10)->create(); + factory(\ProcessMaker\Model\Application::class,101)->create(); + factory(Delegation::class, 101)->create(); + $search = '1'; + // Get first page, which is 25 + $results = Delegation::search(null, 0, 10, $search, null, null, null, null, null, null, null, 'APP_NUMBER'); + $this->assertCount(10, $results['data']); + // Get second page, which is 25 results + $results = Delegation::search(null, 10, 10, $search, null, null, null, null, null, null, null, 'APP_NUMBER'); + $this->assertCount(10, $results['data']); + // Get third page, which is only 1 result + $results = Delegation::search(null, 20, 10, $search, null, null, null, null, null, null, null, 'APP_NUMBER'); + $this->assertCount(1, $results['data']); + } + + /** + * This checks to make sure pagination is working properly with search by case title + * @test + */ + public function it_should_return_pages_of_data_filter_task_title() + { + factory(\ProcessMaker\Model\User::class,100)->create(); + factory(\ProcessMaker\Model\Process::class,10)->create(); + factory(\ProcessMaker\Model\Task::class,200)->create(); + factory(Delegation::class, 51)->create(); + //I need to check the Faker names + $search = 'task'; + // Get first page, which is 25 + $results = Delegation::search(null, 0, 10, $search, null, null, null, null, null, null, null, 'TAS_TITLE'); + $this->assertCount(10, $results['data']); + // Get second page, which is 25 results + $results = Delegation::search(null, 10, 10, $search, null, null, null, null, null, null, null, 'TAS_TITLE'); + $this->assertCount(10, $results['data']); + // Get third page, which is only 1 result + $results = Delegation::search(null, 20, 10, $search, null, null, null, null, null, null, null, 'TAS_TITLE'); + $this->assertCount(1, $results['data']); + } + /** * This ensures searching for a valid user works * @test