From 2871f02a042dfaa07c043aeecb18f13d795ccbc6 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 23 Dec 2019 12:36:40 -0400 Subject: [PATCH] PMC-1459 It is not possible to export processes --- tests/resources/dynaformDataForRenewUids.json | 929 ++++++++++++++++++ .../workflow/engine/classes/ProcessesTest.php | 48 +- .../src/ProcessMaker/Project/WorkflowTest.php | 118 +++ workflow/engine/classes/Processes.php | 3 + .../processes/processes_Import_Ajax.php | 69 +- .../src/ProcessMaker/Project/Workflow.php | 5 +- 6 files changed, 1131 insertions(+), 41 deletions(-) create mode 100644 tests/resources/dynaformDataForRenewUids.json create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/Project/WorkflowTest.php diff --git a/tests/resources/dynaformDataForRenewUids.json b/tests/resources/dynaformDataForRenewUids.json new file mode 100644 index 000000000..6156ab080 --- /dev/null +++ b/tests/resources/dynaformDataForRenewUids.json @@ -0,0 +1,929 @@ +{ + "process": { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_TITLE": "test", + "PRO_DESCRIPTION": "", + "PRO_PARENT": "7084112395dfb826264eac2069406712", + "PRO_TIME": "1", + "PRO_TIMEUNIT": "DAYS", + "PRO_STATUS": "ACTIVE", + "PRO_STATUS_ID": "1", + "PRO_TYPE_DAY": "", + "PRO_TYPE": "NORMAL", + "PRO_ASSIGNMENT": "FALSE", + "PRO_SHOW_MAP": "0", + "PRO_SHOW_MESSAGE": "0", + "PRO_SUBPROCESS": "0", + "PRO_TRI_CREATE": "", + "PRO_TRI_OPEN": "", + "PRO_TRI_DELETED": "", + "PRO_TRI_CANCELED": "", + "PRO_TRI_PAUSED": "", + "PRO_TRI_REASSIGNED": "", + "PRO_TRI_UNPAUSED": "", + "PRO_TYPE_PROCESS": "PUBLIC", + "PRO_SHOW_DELEGATE": "0", + "PRO_SHOW_DYNAFORM": "0", + "PRO_CATEGORY": "", + "PRO_SUB_CATEGORY": "", + "PRO_INDUSTRY": "0", + "PRO_UPDATE_DATE": "2019-12-19 14:16:06", + "PRO_CREATE_USER": "00000000000000000000000000000001", + "PRO_HEIGHT": "5000", + "PRO_WIDTH": "10000", + "PRO_TITLE_X": "0", + "PRO_TITLE_Y": "0", + "PRO_DEBUG": "0", + "PRO_DYNAFORMS": "a:1:{s:7:\"PROCESS\";s:0:\"\";}", + "PRO_DERIVATION_SCREEN_TPL": "", + "PRO_COST": "0", + "PRO_UNIT_COST": "", + "PRO_ITEE": "1", + "PRO_ACTION_DONE": "a:1:{i:0;s:41:\"GATEWAYTOGATEWAY_DELETE_CORRUPTED_RECORDS\";}", + "CATEGORY_ID": "0", + "PRO_CATEGORY_LABEL": "No Category", + "PRO_BPMN": "1" + }, + "tasks": [ + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "5978729975dfb8d7a264fa0070639752", + "TAS_TITLE": "Task 1", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "143", + "TAS_POSY": "82", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "5730239675dfb8626a65a28038679991" + }, + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "3458788095dfb8d7a18fa33047794245", + "TAS_TITLE": "Task 2", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "143", + "TAS_POSY": "181", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "6279149375dfb8626a95495099553981" + }, + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "7916511005dfb8d7a234286082436886", + "TAS_TITLE": "Task 3", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "FALSE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "337", + "TAS_POSY": "181", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "3347609685dfb8626a35d06089327263" + }, + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "9865926225dfb8d7a1fc385009206952", + "TAS_TITLE": "Task 4", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "1", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "143", + "TAS_POSY": "274", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "8420128765dfb8626acccb8059629296" + }, + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "3454769755dfb8d7a1cadc9088436060", + "TAS_TITLE": "Task 5", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "NORMAL", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "1", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "FALSE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "337", + "TAS_POSY": "274", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "7400740655dfb86269feaa1089812754" + }, + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "PRO_ID": "0", + "TAS_UID": "wee-532835dfb8d7a2d0a29054950929", + "TAS_TITLE": "WEBENTRYEVENT", + "TAS_DESCRIPTION": "", + "TAS_DEF_TITLE": "", + "TAS_DEF_SUBJECT_MESSAGE": "", + "TAS_DEF_PROC_CODE": "", + "TAS_DEF_MESSAGE": "", + "TAS_DEF_DESCRIPTION": "", + "TAS_TYPE": "WEBENTRYEVENT", + "TAS_DURATION": "1", + "TAS_DELAY_TYPE": "", + "TAS_TEMPORIZER": "0", + "TAS_TYPE_DAY": "", + "TAS_TIMEUNIT": "DAYS", + "TAS_ALERT": "FALSE", + "TAS_PRIORITY_VARIABLE": "", + "TAS_ASSIGN_TYPE": "BALANCED", + "TAS_ASSIGN_VARIABLE": "@@SYS_NEXT_USER_TO_BE_ASSIGNED", + "TAS_GROUP_VARIABLE": "", + "TAS_MI_INSTANCE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCE", + "TAS_MI_COMPLETE_VARIABLE": "@@SYS_VAR_TOTAL_INSTANCES_COMPLETE", + "TAS_ASSIGN_LOCATION": "FALSE", + "TAS_ASSIGN_LOCATION_ADHOC": "FALSE", + "TAS_TRANSFER_FLY": "FALSE", + "TAS_LAST_ASSIGNED": "0", + "TAS_USER": "0", + "TAS_CAN_UPLOAD": "FALSE", + "TAS_VIEW_UPLOAD": "FALSE", + "TAS_VIEW_ADDITIONAL_DOCUMENTATION": "FALSE", + "TAS_CAN_CANCEL": "FALSE", + "TAS_OWNER_APP": "FALSE", + "STG_UID": "", + "TAS_CAN_PAUSE": "FALSE", + "TAS_CAN_SEND_MESSAGE": "TRUE", + "TAS_CAN_DELETE_DOCS": "FALSE", + "TAS_SELF_SERVICE": "FALSE", + "TAS_START": "TRUE", + "TAS_TO_LAST_USER": "FALSE", + "TAS_SEND_LAST_EMAIL": "FALSE", + "TAS_DERIVATION": "NORMAL", + "TAS_POSX": "62", + "TAS_POSY": "202", + "TAS_WIDTH": "110", + "TAS_HEIGHT": "60", + "TAS_COLOR": "", + "TAS_EVN_UID": "", + "TAS_BOUNDARY": "", + "TAS_DERIVATION_SCREEN_TPL": "", + "TAS_SELFSERVICE_TIMEOUT": "0", + "TAS_SELFSERVICE_TIME": "0", + "TAS_SELFSERVICE_TIME_UNIT": "", + "TAS_SELFSERVICE_TRIGGER_UID": "", + "TAS_SELFSERVICE_EXECUTION": "EVERY_TIME", + "TAS_NOT_EMAIL_FROM_FORMAT": "0", + "TAS_OFFLINE": "FALSE", + "TAS_EMAIL_SERVER_UID": "", + "TAS_AUTO_ROOT": "FALSE", + "TAS_RECEIVE_SERVER_UID": "", + "TAS_RECEIVE_LAST_EMAIL": "FALSE", + "TAS_RECEIVE_EMAIL_FROM_FORMAT": "0", + "TAS_RECEIVE_MESSAGE_TYPE": "text", + "TAS_RECEIVE_MESSAGE_TEMPLATE": "alert_message.html", + "TAS_RECEIVE_SUBJECT_MESSAGE": "", + "TAS_RECEIVE_MESSAGE": "", + "TAS_AVERAGE": "", + "TAS_SDV": "", + "TAS_UID_OLD": "wee-873125dfb8626b28bf4015522377" + } + ], + "routes": [ + { + "ROU_UID": "1212118285dfb8626c112f2028203620", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "3454769755dfb8d7a1cadc9088436060", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }, + { + "ROU_UID": "2179164525dfb8626c19333095716699", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "9865926225dfb8d7a1fc385009206952", + "ROU_NEXT_TASK": "3454769755dfb8d7a1cadc9088436060", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }, + { + "ROU_UID": "2685133935dfb8626c23ee2060782509", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "7916511005dfb8d7a234286082436886", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }, + { + "ROU_UID": "3309845585dfb8626cf6d41085941718", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "wee-532835dfb8d7a2d0a29054950929", + "ROU_NEXT_TASK": "3458788095dfb8d7a18fa33047794245", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }, + { + "ROU_UID": "7287866925dfb8626c065a7095532193", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "3458788095dfb8d7a18fa33047794245", + "ROU_NEXT_TASK": "7916511005dfb8d7a234286082436886", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + }, + { + "ROU_UID": "8808316485dfb8626c2ed28017700589", + "ROU_PARENT": "0", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "5978729975dfb8d7a264fa0070639752", + "ROU_NEXT_TASK": "-1", + "ROU_CASE": "1", + "ROU_TYPE": "SEQUENTIAL", + "ROU_DEFAULT": "0", + "ROU_CONDITION": "", + "ROU_TO_LAST_USER": "FALSE", + "ROU_OPTIONAL": "FALSE", + "ROU_SEND_EMAIL": "TRUE", + "ROU_SOURCEANCHOR": "1", + "ROU_TARGETANCHOR": "0", + "ROU_TO_PORT": "1", + "ROU_FROM_PORT": "2", + "ROU_EVN_UID": "", + "GAT_UID": "" + } + ], + "lanes": [], + "gateways": [], + "inputs": [], + "outputs": [], + "dynaforms": [ + { + "DYN_UID": "1981330525dfb8626c70026010918765", + "DYN_TITLE": "dynaform1", + "DYN_DESCRIPTION": "", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "DYN_TYPE": "xmlform", + "DYN_FILENAME": "3598973985dfb86269c23d6071638314\/1981330525dfb8626c70026010918765", + "DYN_CONTENT": "{\"name\":\"dynaform1\",\"description\":\"\",\"items\":[{\"type\":\"form\",\"variable\":\"\",\"var_uid\":\"\",\"dataType\":\"\",\"id\":\"1981330525dfb8626c70026010918765\",\"name\":\"dynaform1\",\"description\":\"\",\"mode\":\"edit\",\"script\":\"\",\"language\":\"en\",\"externalLibs\":\"\",\"printable\":false,\"items\":[[{\"type\":\"text\",\"variable\":\"textVar001\",\"var_uid\":\"2420200535dfb8626c83d16045380736\",\"dataType\":\"string\",\"protectedValue\":false,\"id\":\"textVar001\",\"name\":\"textVar001\",\"label\":\"text_1\",\"defaultValue\":\"\",\"placeholder\":\"\",\"hint\":\"\",\"required\":false,\"requiredFieldErrorMessage\":\"\",\"textTransform\":\"none\",\"validate\":\"\",\"validateMessage\":\"\",\"maxLength\":1000,\"formula\":\"\",\"mode\":\"parent\",\"operation\":\"\",\"dbConnection\":\"workflow\",\"dbConnectionLabel\":\"PM Database\",\"sql\":\"\",\"var_name\":\"textVar001\",\"colSpan\":12}]],\"variables\":[{\"var_uid\":\"2420200535dfb8626c83d16045380736\",\"prj_uid\":\"3598973985dfb86269c23d6071638314\",\"var_name\":\"textVar001\",\"var_field_type\":\"string\",\"var_field_size\":10,\"var_label\":\"string\",\"var_dbconnection\":\"workflow\",\"var_dbconnection_label\":\"PM Database\",\"var_sql\":\"\",\"var_null\":0,\"var_default\":\"\",\"var_accepted_values\":\"[]\",\"inp_doc_uid\":\"\"}]}]}", + "DYN_LABEL": "", + "DYN_VERSION": "2", + "DYN_UPDATE_DATE": "2019-12-19 14:02:48" + } + ], + "steps": [ + { + "STEP_UID": "1497588005dfb8626c75079092586998", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "9865926225dfb8d7a1fc385009206952", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "1500595075dfb8626c761f9080007968", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "7916511005dfb8d7a234286082436886", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "2804442295dfb8626c78449036895613", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "wee-532835dfb8d7a2d0a29054950929", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "3986576985dfb8626c721d3097828590", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "3454769755dfb8d7a1cadc9088436060", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "4754027025dfb8626c73c99090309776", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "3458788095dfb8d7a18fa33047794245", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "8110336185dfb8626ce6121078206082", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "wee-532835dfb8d7a2d0a29054950929", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + }, + { + "STEP_UID": "9520990735dfb8626c77338089242336", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "5978729975dfb8d7a264fa0070639752", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_CONDITION": "", + "STEP_POSITION": "1", + "STEP_MODE": "EDIT" + } + ], + "triggers": [], + "taskusers": [], + "groupwfs": [], + "steptriggers": [], + "dbconnections": [], + "reportTables": [], + "reportTablesVars": [], + "stepSupervisor": [ + { + "STEP_UID": "2322645545dfb8626c79580010259901", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "STEP_TYPE_OBJ": "DYNAFORM", + "STEP_UID_OBJ": "1981330525dfb8626c70026010918765", + "STEP_POSITION": "1" + } + ], + "dynaformFiles": { + "1981330525dfb8626c70026010918765": "test" + }, + "gridFiles": { + "1981330525dfb8626c70026010918765": "test" + }, + "objectPermissions": [{ + "PRO_UID": "3865635965dfb8d7a152330088145190", + "OP_OBJ_UID": "1981330525dfb8626c70026010918765", + "OP_OBJ_TYPE": "DYNAFORM" + } + ], + "subProcess": [], + "caseTracker": [ + { + "PRO_UID": "3865635965dfb8d7a152330088145190", + "CT_MAP_TYPE": "PROCESSMAP", + "CT_DERIVATION_HISTORY": "1", + "CT_MESSAGE_HISTORY": "1" + } + ], + "caseTrackerObject": [ + { + "CTO_UID": "9681402035dfb8626c7a720057282635", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "CTO_TYPE_OBJ": "DYNAFORM", + "CTO_UID_OBJ": "1981330525dfb8626c70026010918765", + "CTO_CONDITION": "", + "CTO_POSITION": "1" + } + ], + "stage": [], + "fieldCondition": [ + { + "FCD_DYN_UID": "1981330525dfb8626c70026010918765" + } + ], + "event": [], + "caseScheduler": [], + "processCategory": [], + "taskExtraProperties": [], + "processUser": [], + "processVariables": [ + { + "VAR_UID": "2420200535dfb8626c83d16045380736", + "PRJ_UID": "3865635965dfb8d7a152330088145190", + "VAR_NAME": "textVar001", + "VAR_FIELD_TYPE": "string", + "VAR_FIELD_SIZE": "10", + "VAR_LABEL": "string", + "VAR_DBCONNECTION": "workflow", + "VAR_SQL": "", + "VAR_NULL": "0", + "VAR_DEFAULT": "", + "VAR_ACCEPTED_VALUES": "[]", + "INP_DOC_UID": "" + } + ], + "webEntry": [ + { + "DYN_UID": "1981330525dfb8626c70026010918765" + } + ], + "webEntryEvent": [ + { + "WEE_UID": "7839596635dfb8626d46f82082790649", + "PRJ_UID": "3598973985dfb86269c23d6071638314", + "EVN_UID": "8868532835dfb8d7a2d0a29054950929", + "ACT_UID": "3458788095dfb8d7a18fa33047794245", + "DYN_UID": "1981330525dfb8626c70026010918765", + "USR_UID": "00000000000000000000000000000002", + "WEE_TITLE": "1833424275dfb847c912110048244199", + "WEE_DESCRIPTION": "", + "WEE_STATUS": "ENABLED", + "WEE_WE_UID": "9067551515dfb8626d0f040095365609", + "WEE_WE_TAS_UID": "wee-873125dfb8626b28bf4015522377", + "WEE_WE_URL": "1833424275dfb847c912110048244199.php", + "WE_CUSTOM_TITLE": "", + "WE_TYPE": "SINGLE", + "WE_AUTHENTICATION": "ANONYMOUS", + "WE_HIDE_INFORMATION_BAR": "1", + "WE_CALLBACK": "PROCESSMAKER", + "WE_CALLBACK_URL": "", + "WE_LINK_GENERATION": "DEFAULT", + "WE_LINK_SKIN": "classic", + "WE_LINK_LANGUAGE": "en", + "WE_LINK_DOMAIN": "", + "TAS_UID": "wee-873125dfb8626b28bf4015522377", + "WE_SHOW_IN_NEW_CASE": "0", + "EVN_UID_OLD": "8469873125dfb8626b28bf4015522377" + } + ], + "messageType": [], + "messageTypeVariable": [], + "messageEventDefinition": [], + "scriptTask": [], + "timerEvent": [], + "emailEvent": [], + "filesManager": [ + { + "PRF_UID": "2320529945dfb8626e07327095962435", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199.php", + "PRF_TYPE": "file", + "PRF_EDITABLE": "0", + "PRF_CREATE_DATE": "2019-12-19 14:16:06", + "PRF_UPDATE_DATE": "" + }, + { + "PRF_UID": "3478830955dfb84d9e1d771040119182", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/mailTemplates\/3598973985dfb86269c23d6071638314\/actionsByEmailErrorReply.html", + "PRF_TYPE": "file", + "PRF_EDITABLE": "1", + "PRF_CREATE_DATE": "2019-12-19 14:10:33", + "PRF_UPDATE_DATE": "" + }, + { + "PRF_UID": "5200351355dfb84d9e18946005177341", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/mailTemplates\/3598973985dfb86269c23d6071638314\/actionsByEmail.html", + "PRF_TYPE": "file", + "PRF_EDITABLE": "1", + "PRF_CREATE_DATE": "2019-12-19 14:10:33", + "PRF_UPDATE_DATE": "" + }, + { + "PRF_UID": "6235128035dfb8626dffd94027574889", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199Info.php", + "PRF_TYPE": "file", + "PRF_EDITABLE": "0", + "PRF_CREATE_DATE": "2019-12-19 14:16:06", + "PRF_UPDATE_DATE": "" + }, + { + "PRF_UID": "6966516255dfb8626dfbd42099136357", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/1833424275dfb847c912110048244199Post.php", + "PRF_TYPE": "file", + "PRF_EDITABLE": "0", + "PRF_CREATE_DATE": "2019-12-19 14:16:06", + "PRF_UPDATE_DATE": "" + }, + { + "PRF_UID": "7327359135dfb8626e03770066162194", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "USR_UID": "00000000000000000000000000000001", + "PRF_UPDATE_USR_UID": "", + "PRF_PATH": "\/var\/www\/shared\/sites\/workflow\/public\/3598973985dfb86269c23d6071638314\/wsClient.php", + "PRF_TYPE": "file", + "PRF_EDITABLE": "0", + "PRF_CREATE_DATE": "2019-12-19 14:16:06", + "PRF_UPDATE_DATE": "" + } + ], + "abeConfiguration": [ + { + "ABE_UID": "4306137575dfb8626d54c87075844725", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "3454769755dfb8d7a1cadc9088436060", + "ABE_TYPE": "LINK", + "ABE_TEMPLATE": "actionsByEmailErrorReply.html", + "ABE_DYN_TYPE": "NORMAL", + "DYN_UID": "1981330525dfb8626c70026010918765", + "ABE_EMAIL_FIELD": "", + "ABE_ACTION_FIELD": "", + "ABE_ACTION_BODY_FIELD": "", + "ABE_CASE_NOTE_IN_RESPONSE": "0", + "ABE_FORCE_LOGIN": "0", + "ABE_CREATE_DATE": "2019-12-19 14:16:06", + "ABE_UPDATE_DATE": "2019-12-19 14:16:06", + "ABE_SUBJECT_FIELD": "", + "ABE_MAILSERVER_OR_MAILCURRENT": "0", + "ABE_CUSTOM_GRID": "b:0;", + "ABE_EMAIL_SERVER_UID": "", + "ABE_EMAIL_SERVER_RECEIVER_UID": "", + "TAS_UID_OLD": "7400740655dfb86269feaa1089812754" + }, + { + "ABE_UID": "5375484805dfb8626d58030072013572", + "PRO_UID": "3865635965dfb8d7a152330088145190", + "TAS_UID": "9865926225dfb8d7a1fc385009206952", + "ABE_TYPE": "LINK", + "ABE_TEMPLATE": "actionsByEmailErrorReply.html", + "ABE_DYN_TYPE": "NORMAL", + "DYN_UID": "1981330525dfb8626c70026010918765", + "ABE_EMAIL_FIELD": "test", + "ABE_ACTION_FIELD": "", + "ABE_ACTION_BODY_FIELD": "", + "ABE_CASE_NOTE_IN_RESPONSE": "0", + "ABE_FORCE_LOGIN": "0", + "ABE_CREATE_DATE": "2019-12-19 14:16:06", + "ABE_UPDATE_DATE": "2019-12-19 14:16:06", + "ABE_SUBJECT_FIELD": "test", + "ABE_MAILSERVER_OR_MAILCURRENT": "0", + "ABE_CUSTOM_GRID": "b:0;", + "ABE_EMAIL_SERVER_UID": "", + "ABE_EMAIL_SERVER_RECEIVER_UID": "", + "TAS_UID_OLD": "8420128765dfb8626acccb8059629296" + } + ], + "elementTask": [], + "uid": { + "PROCESS": { + "7084112395dfb826264eac2069406712": "3865635965dfb8d7a152330088145190" + }, + "TASK": { + "5730239675dfb8626a65a28038679991": "5978729975dfb8d7a264fa0070639752", + "6279149375dfb8626a95495099553981": "3458788095dfb8d7a18fa33047794245", + "3347609685dfb8626a35d06089327263": "7916511005dfb8d7a234286082436886", + "8420128765dfb8626acccb8059629296": "9865926225dfb8d7a1fc385009206952", + "7400740655dfb86269feaa1089812754": "3454769755dfb8d7a1cadc9088436060", + "wee-873125dfb8626b28bf4015522377": "wee-532835dfb8d7a2d0a29054950929" + } + } +} diff --git a/tests/unit/workflow/engine/classes/ProcessesTest.php b/tests/unit/workflow/engine/classes/ProcessesTest.php index 5abf4eb07..efd542075 100644 --- a/tests/unit/workflow/engine/classes/ProcessesTest.php +++ b/tests/unit/workflow/engine/classes/ProcessesTest.php @@ -13,6 +13,7 @@ use Tests\TestCase; class ProcessesTest extends TestCase { + private $processes; /** * Constructor of the class. @@ -33,6 +34,7 @@ class ProcessesTest extends TestCase protected function setUp() { parent::setUp(); + $this->processes = new Processes(); } /** @@ -154,7 +156,7 @@ class ProcessesTest extends TestCase * This checks fi the returned output documents are correct with the differect * parameters. * @test - * @covers Processes::getOutputRows() + * @covers \Processes::getOutputRows() */ public function it_should_return_output_documents() { @@ -205,7 +207,7 @@ class ProcessesTest extends TestCase /** * This checks if the dynaforms structure is saved with the different parameters. * @test - * @covers Processes::createDynaformRows() + * @covers \Processes::createDynaformRows() */ public function it_sholud_create_dynaform() { @@ -269,7 +271,7 @@ class ProcessesTest extends TestCase * This checks if the input documents structure is saved with the different * parameters. * @test - * @covers Processes::createInputRows() + * @covers \Processes::createInputRows() */ public function it_should_create_input_document() { @@ -339,7 +341,7 @@ class ProcessesTest extends TestCase * This checks if the output documents structure is saved with the different * parameters. * @test - * @covers Processes::createOutputRows() + * @covers \Processes::createOutputRows() */ public function it_should_create_output_document() { @@ -432,7 +434,7 @@ class ProcessesTest extends TestCase /** * This gets the data structure of a project. * @test - * @covers Processes::getWorkflowData() + * @covers \Processes::getWorkflowData() */ public function it_should_get_workflow_data() { @@ -459,4 +461,40 @@ class ProcessesTest extends TestCase $result = $processes->getWorkflowData($process->PRO_UID); $this->assertNotNull($result); } + + /** + * This test guarantees the replacement of new identifiers. + * @test + * @covers \Processes::renewAllDynaformGuid() + */ + public function it_should_renew_all_dynaform_guid() + { + $pathData = PATH_TRUNK . "/tests/resources/dynaformDataForRenewUids.json"; + $data = file_get_contents($pathData); + $result = json_decode($data, JSON_OBJECT_AS_ARRAY); + $result = (object) $result; + $this->processes->renewAllDynaformGuid($result); + foreach ($result as $key => $value) { + $this->assertObjectHasAttribute($key, $result); + } + + //without PRO_DYNAFORMS + $result = json_decode($data, JSON_OBJECT_AS_ARRAY); + $result = (object) $result; + unset($result->process['PRO_DYNAFORMS']); + $this->processes->renewAllDynaformGuid($result); + foreach ($result as $key => $value) { + $this->assertObjectHasAttribute($key, $result); + } + + //for process inside PRO_DYNAFORMS + $result = json_decode($data, JSON_OBJECT_AS_ARRAY); + $result = (object) $result; + $result->process['PRO_DYNAFORMS'] = []; + $result->process['PRO_DYNAFORMS']['PROCESS'] = $result->dynaforms[0]['DYN_UID']; + $this->processes->renewAllDynaformGuid($result); + foreach ($result as $key => $value) { + $this->assertObjectHasAttribute($key, $result); + } + } } diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Project/WorkflowTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Project/WorkflowTest.php new file mode 100644 index 000000000..ff0e0fd68 --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/Project/WorkflowTest.php @@ -0,0 +1,118 @@ +workflow = new Workflow(); + $this->directories = []; + $this->files = []; + $this->faker = Factory::create(); + } + + /** + * This method is executed after each test. + */ + public function tearDown() + { + parent::tearDown(); + foreach ($this->files as $value) { + unlink($value); + } + foreach ($this->directories as $value) { + rmdir($value); + } + } + + /** + * This test ensures that the getData method returns the correct data. + * @test + * @covers \ProcessMaker\Project\Workflow::getData() + */ + public function it_should_return_the_data_when_the_project_id_is_valid() + { + $process = factory(Process::class)->create(); + $dynaforms = factory(Dynaform::class, 5)->create([ + 'PRO_UID' => $process->PRO_UID + ]); + factory(WebEntry::class, 5)->create([ + 'PRO_UID' => $process->PRO_UID + ]); + + $directory = PATH_DYNAFORM . $process->PRO_UID . "/"; + $this->directories[] = $directory; + mkdir($directory); + foreach ($dynaforms as $dynaform) { + Dynaform::where('PRO_UID', $process->PRO_UID) + ->where('DYN_UID', $dynaform->DYN_UID) + ->update(['DYN_FILENAME' => $process->PRO_UID . '/' . $dynaform->DYN_UID]); + + $dynUid = $dynaform->DYN_UID; + $data = ''; + $filename = $directory . $dynUid . ".xml"; + $this->files[] = $filename; + file_put_contents($filename, $data); + + $filename = $directory . $dynUid . ".html"; + $this->files[] = $filename; + file_put_contents($filename, $data); + } + + //template + $directory = PATH_DATA_MAILTEMPLATES . $process->PRO_UID; + $this->directories[] = $directory; + mkdir($directory); + + $filename = $directory . "/test.html"; + $this->files[] = $filename; + file_put_contents($filename, ''); + + //public files + $directory = PATH_DATA_PUBLIC . $process->PRO_UID; + $this->directories[] = $directory; + mkdir($directory); + + $filename = $directory . "/wsClient.php"; + $this->files[] = $filename; + file_put_contents($filename, ''); + + $actual = $this->workflow->getData($process->PRO_UID); + + $this->assertCount(2, $actual); + $this->assertArrayHasKey('process', $actual[0]); + $this->assertArrayHasKey('DYNAFORMS', $actual[1]); + } + + /** + * This test should throw an exception when the parameter is not correct. + * @test + * @covers \ProcessMaker\Project\Workflow::getData() + */ + public function it_should_throw_exception_when_get_data_is_failed() + { + $proUid = $this->faker->regexify("/[a-zA-Z]{32}/"); + + $this->expectException(Exception::class); + $actual = $this->workflow->getData($proUid); + } +} diff --git a/workflow/engine/classes/Processes.php b/workflow/engine/classes/Processes.php index 8c7eb52f8..1c928ed61 100644 --- a/workflow/engine/classes/Processes.php +++ b/workflow/engine/classes/Processes.php @@ -1017,6 +1017,9 @@ class Processes $map[$val['DYN_UID']] = $newGuid; $oData->dynaforms[$key]['DYN_UID'] = $newGuid; unset($oData->dynaforms[$key]['DYN_ID']); + + //this is important when UID's is updated + $oData->dynaforms[$key]['DYN_FILENAME'] = $oData->dynaforms[$key]['PRO_UID'] . "/" . $oData->dynaforms[$key]['DYN_UID']; } $oData->uid["DYNAFORM"] = $map; diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index f2acde6ed..fbb5832fe 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -268,44 +268,45 @@ if (isset($_POST["PRO_FILENAME"]) && try { /*----------------------------------********---------------------------------*/ $objectsToImport = ''; - // only uploadFileNewProcessExist - if (version_compare($data['version'], '3.0', '>') && isset($_POST['objectsToImport']) && $_POST['objectsToImport'] === '' && $_POST['IMPORT_OPTION']==="1") { - $objectImport = (isset($data['objects'])) ? explode('|', $data['objects']) : ""; - $ids = new \ProcessMaker\BusinessModel\Migrator\ExportObjects(); - $objectImport = $ids->getIdObjectList($objectImport); - $granularImport = true; - $result = array( - "success" => true, - "catchMessage" => '', - "ExistProcessInDatabase" => 0, - "ExistGroupsInDatabase" => 0, - "notExistProcessInDatabase" => 0, - "affectedGroups" => '', - "sNewProUid" => '', - "project_type" => 'bpmn', - "isGranularImport" => $granularImport, - "objectGranularImport" => $objectImport, - "project_type_aux" => '' - ); - echo G::json_encode($result); - exit(0); - } + if (version_compare($data['version'], '3.0', '>')) { + $dataObject = (isset($data['objects'])) ? explode('|', $data['objects']) : ""; + $exportObjects = new \ProcessMaker\BusinessModel\Migrator\ExportObjects(); + $idObjectList = $exportObjects->getIdObjectList($dataObject); + + // only uploadFileNewProcessExist + if (isset($_POST['objectsToImport']) && $_POST['objectsToImport'] === '' && $_POST['IMPORT_OPTION'] === "1") { + $granularImport = true; + $result = [ + "success" => true, + "catchMessage" => '', + "ExistProcessInDatabase" => 0, + "ExistGroupsInDatabase" => 0, + "notExistProcessInDatabase" => 0, + "affectedGroups" => '', + "sNewProUid" => '', + "project_type" => 'bpmn', + "isGranularImport" => $granularImport, + "objectGranularImport" => $idObjectList, + "project_type_aux" => '' + ]; + echo G::json_encode($result); + exit(0); + } + + $actionImport = "merge"; + if ($_POST['IMPORT_OPTION'] === "3") { + $actionImport = "replace"; + } - if ((version_compare($data['version'], '3.0', - '>') && $_POST['IMPORT_OPTION'] === "3") || empty($_POST['objectsToImport'])) { $objectsToImport = []; - $objects = (isset($data['objects'])) ? explode('|', $data['objects']) : ""; - $ids = new \ProcessMaker\BusinessModel\Migrator\ExportObjects(); - $objects = $ids->getIdObjectList($objects); - foreach ($objects as $object) { - $objectsToImport[] = (object)array('id' => $object, 'action' => 'replace'); + foreach ($idObjectList as $object) { + $objectsToImport[] = (object) ['id' => $object, 'action' => $actionImport]; + } + + if (isset($_POST['objectsToImport']) && !empty(G::json_decode($_POST['objectsToImport']))) { + $objectsToImport = G::json_decode($_POST['objectsToImport']); } } - - if (isset($_POST['objectsToImport']) && !empty(G::json_decode($_POST['objectsToImport']))) { - $objectsToImport = G::json_decode($_POST['objectsToImport']); - } - /*----------------------------------********---------------------------------*/ $prjUid = $importer->import($option, $optionGroup, false, $objectsToImport); diff --git a/workflow/engine/src/ProcessMaker/Project/Workflow.php b/workflow/engine/src/ProcessMaker/Project/Workflow.php index 26775a4ad..57bd927a7 100644 --- a/workflow/engine/src/ProcessMaker/Project/Workflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Workflow.php @@ -1169,12 +1169,13 @@ class Workflow extends Handler //Getting DynaForms foreach ($workflowData["dynaforms"] as $dynaform) { - $dynFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".xml"; + $dynFile = PATH_DYNAFORM . $dynaform["PRO_UID"] . "/" . $dynaform["DYN_UID"] . ".xml"; + $content = file_exists($dynFile) ? file_get_contents($dynFile) : ''; $workflowFile["DYNAFORMS"][] = array( "filename" => $dynaform["DYN_TITLE"], "filepath" => $dynaform["DYN_FILENAME"] . ".xml", - "file_content" => file_get_contents($dynFile) + "file_content" => $content ); $htmlFile = PATH_DYNAFORM . $dynaform["DYN_FILENAME"] . ".html";