PMCORE-1404 Use Jobs in the 'script task' and 'service task' execution

This commit is contained in:
Roly Rudy Gutierrez Pinto
2020-05-19 12:15:46 -04:00
parent 5bd2d6f1ec
commit 5041c9be3d
19 changed files with 711 additions and 309 deletions

View File

@@ -3,20 +3,26 @@
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Application::class, function(Faker $faker) {
$statuses = ['DRAFT', 'TO_DO'];
$status = $faker->randomElement($statuses);
$statusId = array_search($status, $statuses) + 1;
$user = factory(\ProcessMaker\Model\User::class)->create();
$appNumber = $faker->unique()->numberBetween(1000);
//APP_TITLE field is used in 'MYSQL: MATCH() AGAINST()' function, string size should not be less than 3.
$appTitle = $faker->lexify(str_repeat('?', rand(3, 5)) . ' ' . str_repeat('?', rand(3, 5)));
//APP_STATUS must start in TO_DO because all tests require this state.
return [
'APP_UID' => G::generateUniqueID(),
'APP_TITLE' => $faker->sentence(3),
'APP_TITLE' => $appTitle,
'APP_NUMBER' => $appNumber,
'APP_STATUS' => $status,
'APP_STATUS_ID' => $statusId,
'PRO_UID' => G::generateUniqueID(),
'APP_STATUS' => 'TO_DO',
'APP_STATUS_ID' => 2,
'PRO_UID' => function() {
return factory(\ProcessMaker\Model\Process::class)->create()->PRO_UID;
},
'APP_PARALLEL' => 'N',
'APP_INIT_USER' => G::generateUniqueID(),
'APP_CUR_USER' => G::generateUniqueID(),
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID,
'APP_PIN' => G::generateUniqueID(),
'APP_CREATE_DATE' => $faker->dateTime(),
'APP_UPDATE_DATE' => $faker->dateTime(),
@@ -30,17 +36,19 @@ $factory->state(\ProcessMaker\Model\Application::class, 'foreign_keys', function
// Create values in the foreign key relations
$process = factory(\ProcessMaker\Model\Process::class)->create();
$user = factory(\ProcessMaker\Model\User::class)->create();
// Get other random values
$statuses = ['DRAFT', 'TO_DO'];
$status = $faker->randomElement($statuses);
$statusId = array_search($status, $statuses) + 1;
$appNumber = $faker->unique()->numberBetween(1000);
//APP_TITLE field is used in 'MYSQL: MATCH() AGAINST()' function, string size should not be less than 3.
$appTitle = $faker->lexify(str_repeat('?', rand(3, 5)) . ' ' . str_repeat('?', rand(3, 5)));
//APP_STATUS must start in TO_DO because all tests require this state.
return [
'APP_UID' => G::generateUniqueID(),
'APP_TITLE' => $faker->sentence(3),
'APP_TITLE' => $appTitle,
'APP_NUMBER' => $appNumber,
'APP_STATUS' => $status,
'APP_STATUS_ID' => $statusId,
'APP_STATUS' => 'TO_DO',
'APP_STATUS_ID' => 2,
'PRO_UID' => $process->PRO_UID,
'APP_PARALLEL' => 'N',
'APP_INIT_USER' => $user->USR_UID,
@@ -51,4 +59,4 @@ $factory->state(\ProcessMaker\Model\Application::class, 'foreign_keys', function
'APP_INIT_DATE' => $faker->dateTime(),
'APP_DATA' => serialize(['APP_NUMBER' => $appNumber])
];
});
});

View File

@@ -3,15 +3,26 @@
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Delegation::class, function(Faker $faker) {
$user = factory(\ProcessMaker\Model\User::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create();
$task = factory(\ProcessMaker\Model\Task::class)->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = factory(\ProcessMaker\Model\Application::class)->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
// Return with default values
return [
'APP_UID' => G::generateUniqueID(),
'APP_UID' => $application->APP_UID,
'DEL_INDEX' => 1,
'APP_NUMBER' => $faker->unique()->numberBetween(1, 100000),
'APP_NUMBER' => $application->APP_NUMBER,
'DEL_PREVIOUS' => 0,
'PRO_UID' => G::generateUniqueID(),
'TAS_UID' => G::generateUniqueID(),
'USR_UID' => G::generateUniqueID(),
'PRO_UID' => $process->PRO_UID,
'TAS_UID' => $task->TAS_UID,
'USR_UID' => $user->USR_UID,
'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1,
'DEL_THREAD_STATUS' => 'OPEN',
@@ -20,9 +31,9 @@ $factory->define(\ProcessMaker\Model\Delegation::class, function(Faker $faker) {
'DEL_INIT_DATE' => $faker->dateTime(),
'DEL_TASK_DUE_DATE' => $faker->dateTime(),
'DEL_RISK_DATE' => $faker->dateTime(),
'USR_ID' => 0,
'PRO_ID' => 0,
'TAS_ID' => 0,
'USR_ID' => $user->USR_ID,
'PRO_ID' => $process->PRO_ID,
'TAS_ID' => $task->TAS_ID,
'DEL_DATA' => ''
];
});
@@ -30,10 +41,17 @@ $factory->define(\ProcessMaker\Model\Delegation::class, function(Faker $faker) {
// Create a delegation with the foreign keys
$factory->state(\ProcessMaker\Model\Delegation::class, 'foreign_keys', function (Faker $faker) {
// Create values in the foreign key relations
$application = factory(\ProcessMaker\Model\Application::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create();
$task = factory(\ProcessMaker\Model\Task::class)->create();
$user = factory(\ProcessMaker\Model\User::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create();
$task = factory(\ProcessMaker\Model\Task::class)->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = factory(\ProcessMaker\Model\Application::class)->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
// Return with default values
return [

View File

@@ -7,7 +7,7 @@ use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Groupwf::class, function(Faker $faker) {
return [
'GRP_UID' => G::generateUniqueID(),
'GRP_ID' => $faker->unique()->numberBetween(1, 2000),
//'GRP_ID' The incremental fields of the tables must not be specified in the creation list.
'GRP_TITLE' => $faker->sentence(2),
'GRP_STATUS' => 'ACTIVE',
'GRP_LDAP_DN' => '',

View File

@@ -6,9 +6,10 @@ use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Process::class, function(Faker $faker) {
// Return with default values
//The incremental fields of the tables must not be specified in the creation list.
return [
'PRO_UID' => G::generateUniqueID(),
'PRO_ID' => $faker->unique()->numberBetween(1, 1000000),
//'PRO_ID' The incremental fields of the tables must not be specified in the creation list.
'PRO_TITLE' => $faker->sentence(3),
'PRO_DESCRIPTION' => $faker->paragraph(3),
'PRO_CREATE_USER' => '00000000000000000000000000000001',
@@ -19,7 +20,9 @@ $factory->define(\ProcessMaker\Model\Process::class, function(Faker $faker) {
'PRO_TYPE_PROCESS' => 'PUBLIC',
'PRO_UPDATE_DATE' => $faker->dateTime(),
'PRO_CREATE_DATE' => $faker->dateTime(),
'PRO_CATEGORY' => '',
'PRO_CATEGORY' => function() {
return factory(\ProcessMaker\Model\ProcessCategory::class)->create()->CATEGORY_UID;
},
];
});
@@ -28,7 +31,7 @@ $factory->state(\ProcessMaker\Model\Process::class, 'foreign_keys', function (Fa
$user = factory(\ProcessMaker\Model\User::class)->create();
return [
'PRO_UID' => G::generateUniqueID(),
'PRO_ID' => $faker->unique()->numberBetween(1, 1000000),
//'PRO_ID' The incremental fields of the tables must not be specified in the creation list.
'PRO_TITLE' => $faker->sentence(3),
'PRO_DESCRIPTION' => $faker->paragraph(3),
'PRO_CREATE_USER' => $user->USR_UID,
@@ -49,7 +52,7 @@ $factory->state(\ProcessMaker\Model\Process::class, 'flow', function (Faker $fak
$user = factory(\ProcessMaker\Model\User::class)->create();
$process = [
'PRO_UID' => G::generateUniqueID(),
'PRO_ID' => $faker->unique()->numberBetween(1, 1000000),
//'PRO_ID' The incremental fields of the tables must not be specified in the creation list.
'PRO_TITLE' => $faker->sentence(3),
'PRO_DESCRIPTION' => $faker->paragraph(3),
'PRO_CREATE_USER' => $user->USR_UID,

View File

@@ -0,0 +1,18 @@
<?php
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\StepTrigger::class, function (Faker $faker) {
return [
'STEP_UID' => $faker->regexify("/[a-zA-Z]{32}/"),
'TAS_UID' => function() {
return factory(\ProcessMaker\Model\Task::class)->create()->TAS_UID;
},
'TRI_UID' => function() {
return factory(\ProcessMaker\Model\Triggers::class)->create()->TRI_UID;
},
'ST_TYPE' => 'BEFORE',
'ST_CONDITION' => '',
'ST_POSITION' => 1,
];
});

View File

@@ -6,11 +6,12 @@
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Task::class, function(Faker $faker) {
$process = factory(\ProcessMaker\Model\Process::class)->create();
return [
'PRO_UID' => G::generateUniqueID(),
'PRO_ID' => $faker->unique()->numberBetween(),
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID,
'TAS_UID' => G::generateUniqueID(),
'TAS_ID' => $faker->unique()->numberBetween(),
//'TAS_ID' The incremental fields of the tables must not be specified in the creation list.
'TAS_TITLE' => $faker->sentence(2),
'TAS_TYPE' => 'NORMAL',
'TAS_TYPE_DAY' => 1,
@@ -39,7 +40,7 @@ $factory->state(\ProcessMaker\Model\Task::class, 'foreign_keys', function (Faker
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID,
'TAS_UID' => G::generateUniqueID(),
'TAS_ID' => $faker->unique()->numberBetween(1, 200000),
//'TAS_ID' The incremental fields of the tables must not be specified in the creation list.
'TAS_TITLE' => $faker->sentence(2),
'TAS_TYPE' => 'NORMAL',
'TAS_TYPE_DAY' => 1,

View File

@@ -5,12 +5,14 @@ use ProcessMaker\Model\Triggers;
$factory->define(Triggers::class, function (Faker $faker) {
return [
'TRI_UID' => G::generateUniqueID(),
'TRI_UID' => $faker->regexify("/[a-zA-Z]{32}/"),
'TRI_TITLE' => $faker->sentence(5),
'TRI_DESCRIPTION' => $faker->text,
'PRO_UID' => G::generateUniqueID(),
'PRO_UID' => function() {
return factory(\ProcessMaker\Model\Process::class)->create()->PRO_UID;
},
'TRI_TYPE' => 'SCRIPT',
'TRI_WEBBOT' => $faker->text,
'TRI_PARAM' => '',
];
});
});