diff --git a/database/factories/ProcessCategoryFactory.php b/database/factories/ProcessCategoryFactory.php new file mode 100644 index 000000000..df5dc69d0 --- /dev/null +++ b/database/factories/ProcessCategoryFactory.php @@ -0,0 +1,14 @@ +define(\ProcessMaker\Model\ProcessCategory::class, function (Faker $faker) { + return [ + 'CATEGORY_UID' => G::generateUniqueID(), + 'CATEGORY_PARENT' => '', + 'CATEGORY_NAME' => $faker->paragraph(3), + 'CATEGORY_ICON' => '', + ]; +}); diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php index 7951c33fd..7c971ea26 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/DelegationTest.php @@ -273,4 +273,28 @@ class DelegationTest extends TestCase $this->assertCount(2, $results['data']); $this->assertEquals('Paul Griffis', $results['data'][0]['APP_CURRENT_USER']); } + + /** + * This checks to make sure filter by category is working properly + * @test + */ + public function it_should_return_categories_of_data() + { + /*factory(User::class,100)->create(); + $process = factory(Process::class, 1)->create([ + 'PRO_ID' => 1 + ]); + factory(Delegation::class, 51)->create([ + 'PRO_ID' => $process[0]->id + ]); + // Get first page, which is 25 + $results = Delegation::search(null, 0, 25, null, $process[0]->id); + $this->assertCount(25, $results['data']); + // Get second page, which is 25 results + $results = Delegation::search(null, 25, 25,null, $process[0]->id); + $this->assertCount(25, $results['data']); + // Get third page, which is only 1 result + $results = Delegation::search(null, 50, 25,null, $process[0]->id); + $this->assertCount(1, $results['data']);*/ + } } \ No newline at end of file diff --git a/workflow/engine/src/ProcessMaker/Model/Process.php b/workflow/engine/src/ProcessMaker/Model/Process.php index e136f07a3..52ff107e2 100644 --- a/workflow/engine/src/ProcessMaker/Model/Process.php +++ b/workflow/engine/src/ProcessMaker/Model/Process.php @@ -24,18 +24,21 @@ class Process extends Model public function applications() { return $this->hasMany(Application::class, 'PRO_ID', 'PRO_ID'); - } public function tasks() { return $this->hasMany(Task::class, 'PRO_UID', 'PRO_UID'); - } public function creator() { return $this->hasOne(User::class, 'PRO_CREATE_USER', 'USR_UID'); } -} \ No newline at end of file + + public function category() + { + return $this->hasOne(ProcessCategory::class, 'PRO_CATEGORY', 'CATEGORY_UID'); + } +} diff --git a/workflow/engine/src/ProcessMaker/Model/ProcessCategory.php b/workflow/engine/src/ProcessMaker/Model/ProcessCategory.php new file mode 100644 index 000000000..9d8c69bd4 --- /dev/null +++ b/workflow/engine/src/ProcessMaker/Model/ProcessCategory.php @@ -0,0 +1,17 @@ +