Arreglo de conflictos
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
<project name="ProcessMaker Michelangelo" default="build-phpcs">
|
||||
<target name="build"
|
||||
depends="prepare,lint,phploc,pdepend,phpcs-ci,phpdox, behat"/>
|
||||
depends="prepare,lint,phploc,pdepend,phpcs-ci,phpunit,phpdox,behat"/>
|
||||
|
||||
<target name="build-simple"
|
||||
depends="prepare,phpunit,phpcs-ci,phploc,lint"/>
|
||||
@@ -122,7 +122,12 @@
|
||||
</target>
|
||||
|
||||
<target name="phpunit" description="Run unit tests with PHPUnit">
|
||||
<exec executable="phpunit" failonerror="false"/>
|
||||
<exec executable="phpunit">
|
||||
<arg value="--testsuite" />
|
||||
<arg path="api" />
|
||||
<arg value="--bootstrap" />
|
||||
<arg path="${basedir}/workflow/engine/src/Tests/bootstrap.php" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
|
||||
|
||||
@@ -1,33 +1,68 @@
|
||||
@ProcessMakerMichelangelo @RestAPI
|
||||
Feature: Cases Actions - the features in this script are (getCaseInfo, taskCase, newCase, newCaseImpersonate, reassignCase and routeCase)
|
||||
Feature: Cases Actions - the features in this script are (getCaseInfo, taskCase, newCase, newCaseImpersonate, reassignCase, routeCase, cancelCase, pauseCase, unpauseCase, executeTrigger, DELETE Case)
|
||||
Requirements:
|
||||
a workspace with five cases of the process "Test micheangelo" and "Test Users-Step-Properties End Point"
|
||||
a workspace with 57 cases distributed in the processes "Derivation rules - evaluation", "Derivation rules - Parallel", "Derivation rules - parallel evaluation", "Derivation rules - selection", "Derivation rules - sequential"
|
||||
|
||||
Background:
|
||||
Given that I have a valid access_token
|
||||
|
||||
Scenario: Returns information about a given case of the list Inbox
|
||||
Given I request "cases/48177942153275bfa28bd04070312685"
|
||||
#Listado de casos
|
||||
Scenario: Returns a list of the cases for the logged in user (Inbox)
|
||||
Given I request "cases"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the "app_uid" property equals "48177942153275bfa28bd04070312685"
|
||||
And the "app_number" property equals 16
|
||||
And the "app_name" property equals "#16"
|
||||
And the "app_status" property equals "TO_DO"
|
||||
And the "app_init_usr_uid" property equals "00000000000000000000000000000001"
|
||||
And the "app_init_usr_username" property equals "Administrator"
|
||||
And the "pro_uid" property equals "99209594750ec27ea338927000421575"
|
||||
And the "pro_name" property equals "Derivation rules - sequential"
|
||||
And the "app_create_date" property equals "2014-03-17 16:32:58"
|
||||
And the "app_update_date" property equals "2014-03-17 16:33:01"
|
||||
|
||||
And the response has 14 records
|
||||
|
||||
Scenario: Returns the current task for a given case of the list Inbox
|
||||
Given I request "cases/48177942153275bfa28bd04070312685/current-task"
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
Given I request "cases/draft"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 15 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Participated)
|
||||
Given I request "cases/participated"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 30 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Unassigned)
|
||||
Given I request "cases/unassigned"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Paused)
|
||||
Given I request "cases/paused"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
|
||||
|
||||
Scenario: Returns information about a given case of the list Inbox of process "Derivation rules - Parallel"
|
||||
Given I request "cases/220090038533b0c40688174019225585"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
And the "app_uid" property equals "220090038533b0c40688174019225585"
|
||||
And the "app_number" property equals 137
|
||||
And the "app_name" property equals "#137"
|
||||
And the "app_status" property equals "TO_DO"
|
||||
|
||||
|
||||
Scenario: Returns the current task for a given case of the list Inbox, case 167 of process "derivation rules - sequencial"
|
||||
Given I request "cases/356811158533b13641ef789000630231/current-task"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
And the "tas_uid" property equals "73641967750ec281cf015d9009265327"
|
||||
And the "tas_title" property equals "Cyclical"
|
||||
And the "del_index" property equals "2"
|
||||
@@ -37,8 +72,8 @@ Scenario Outline: Create a new case in workspace with process "Derivation rules
|
||||
Given POST this data:
|
||||
"""
|
||||
{
|
||||
"pro_uid": "99209594750ec27ea338927000421575",
|
||||
"tas_uid": "68707275350ec281ada1c95068712556",
|
||||
"pro_uid": "<pro_uid>",
|
||||
"tas_uid": "<tas_uid>",
|
||||
"variables": [{"name": "admin", "lastname":"admin"}]
|
||||
}
|
||||
"""
|
||||
@@ -47,12 +82,14 @@ Scenario Outline: Create a new case in workspace with process "Derivation rules
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "object"
|
||||
And store "caseId" in session array as variable "caseId_<case_number>"
|
||||
And store "caseNumber" in session array as variable "caseNumber_<case_number>"
|
||||
And store "app_uid" in session array as variable "app_uid_<case_number>"
|
||||
And store "app_number" in session array as variable "app_number_<case_number>"
|
||||
|
||||
Examples:
|
||||
| case_number |
|
||||
| 1 |
|
||||
| Description | case_number | pro_uid | tas_uid |
|
||||
| Create case 16 in draft | 1 | 99209594750ec27ea338927000421575 | 68707275350ec281ada1c95068712556 |
|
||||
| Create case 17 in draft | 2 | 99209594750ec27ea338927000421575 | 68707275350ec281ada1c95068712556 |
|
||||
| Create case 18 in draft | 5 | 99209594750ec27ea338927000421575 | 68707275350ec281ada1c95068712556 |
|
||||
|
||||
|
||||
Scenario Outline: Create a new case Impersonate in workspace with process "Derivation rules - sequential"
|
||||
@@ -60,7 +97,7 @@ Scenario Outline: Create a new case Impersonate in workspace with process "Deriv
|
||||
"""
|
||||
{
|
||||
"pro_uid": "99209594750ec27ea338927000421575",
|
||||
"usr_uid": "24166330352d56730cdd525035621101",
|
||||
"usr_uid": "<usr_uid>",
|
||||
"tas_uid": "68707275350ec281ada1c95068712556",
|
||||
"variables": [{"name": "pruebaQA", "amount":"10400"}]
|
||||
}
|
||||
@@ -70,12 +107,13 @@ Scenario Outline: Create a new case Impersonate in workspace with process "Deriv
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "object"
|
||||
And store "caseId" in session array as variable "caseId_<case_number>"
|
||||
And store "caseNumber" in session array as variable "caseNumber_<case_number>"
|
||||
And store "app_uid" in session array as variable "app_uid_<case_number>"
|
||||
And store "app_number" in session array as variable "app_number_<case_number>"
|
||||
|
||||
Examples:
|
||||
| case_number |
|
||||
| 1 |
|
||||
| Description | case_number | usr_uid |
|
||||
| Create new case 18 with user chris | 3 | 24166330352d56730cdd525035621101 |
|
||||
| Create new case 18 with user adam | 4 | 44811996752d567110634a1013636964 |
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
@@ -83,36 +121,195 @@ Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 2 records
|
||||
And the response has 18 records
|
||||
|
||||
|
||||
Scenario: Reassigns a case to a different user
|
||||
Scenario Outline: Reassigns a case to a different user, from user "administrator" to user "aaron"
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
"usr_uid_source": "62625000752d5672d6661e6072881167",
|
||||
"usr_uid_target": "24166330352d56730cdd525035621101",
|
||||
"usr_uid_source": "00000000000000000000000000000001",
|
||||
"usr_uid_target": "51049032352d56710347233042615067"
|
||||
}
|
||||
"""
|
||||
And that I want to update a resource with the key "case_number" stored in session array
|
||||
And I request "case/{uid}/reassign-case"
|
||||
And I request "cases/app_uid/reassign-case" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Reassig case 1, created in this script | 1 |
|
||||
|
||||
|
||||
Scenario Outline: Route a case to the next task in the process
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
"case_uid": "<case_number>",
|
||||
"del_index": "1"
|
||||
}
|
||||
"""
|
||||
And I request "cases/app_uid/route-case" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Derivate case 2 to inbox of Administrator, created in this script | 2 |
|
||||
|
||||
|
||||
|
||||
Scenario Outline: Cancel a case
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
|
||||
}
|
||||
"""
|
||||
And I request "cases/app_uid/cancel" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Cancel case 3, created in this script | 3 |
|
||||
|
||||
|
||||
Scenario Outline: Pause a case
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
"unpaused_date": "2016-12-12"
|
||||
}
|
||||
"""
|
||||
And I request "cases/app_uid/pause" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Pause case 4, created in this script | 4 |
|
||||
|
||||
|
||||
Scenario Outline: Unpause a case
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
|
||||
}
|
||||
"""
|
||||
And I request "cases/app_uid/unpause" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Unpause case 4, created in this script | 4 |
|
||||
|
||||
|
||||
Scenario Outline: Executes a ProcessMaker trigger for a case
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
|
||||
}
|
||||
"""
|
||||
And I request "cases/app_uid/execute-trigger/<tri_uid>" with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
Scenario: Autoderivate a case to the next task in the process
|
||||
Examples:
|
||||
|
||||
| test_description | case_number | tri_uid |
|
||||
| Ejecucion de trigger | 5 | 54962158250ec613ba5bc89016850103 |
|
||||
|
||||
|
||||
Scenario Outline: Delete a case
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
"case_uid": "78ef3ca7905019270643749052af5bd7",
|
||||
"del_index": "1"
|
||||
|
||||
}
|
||||
"""
|
||||
And that I want to update a resource with the key "" stored in session array
|
||||
And I request "case/{uid}/route-case"
|
||||
|
||||
And that I want to delete a resource with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
|
||||
And I request "cases"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | case_number |
|
||||
| Delete a case 1, created in this script | 1 |
|
||||
| Delete a case 2, created in this script | 2 |
|
||||
| Delete a case 3, created in this script | 3 |
|
||||
| Delete a case 4, created in this script | 4 |
|
||||
| Delete a case 5, created in this script | 5 |
|
||||
|
||||
|
||||
#Listado de casos
|
||||
Scenario: Returns a list of the cases for the logged in user (Inbox)
|
||||
Given I request "cases"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 14 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
Given I request "cases/draft"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 15 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Participated)
|
||||
Given I request "cases/participated"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 30 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Unassigned)
|
||||
Given I request "cases/unassigned"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Paused)
|
||||
Given I request "cases/paused"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
@@ -6,6 +6,48 @@ Requirements:
|
||||
Background:
|
||||
Given that I have a valid access_token
|
||||
|
||||
|
||||
#Listado de casos
|
||||
Scenario: Returns a list of the cases for the logged in user (Inbox)
|
||||
Given I request "cases"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 14 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
Given I request "cases/draft"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 15 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Participated)
|
||||
Given I request "cases/participated"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 30 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Unassigned)
|
||||
Given I request "cases/unassigned"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Paused)
|
||||
Given I request "cases/paused"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "array"
|
||||
And the response has 12 records
|
||||
|
||||
|
||||
Scenario: Returns information about a given case of the list Inbox
|
||||
Given I request "cases/48177942153275bfa28bd04070312685"
|
||||
Then the response status code should be 200
|
||||
|
||||
@@ -26,5 +26,4 @@ Scenario: Create a new case note for specified case
|
||||
Then the response status code should be 201
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "object"
|
||||
|
||||
And the type is "object"
|
||||
@@ -1,4 +1,4 @@
|
||||
ProcessMakerMichelangelo @RestAPI
|
||||
@ProcessMakerMichelangelo @RestAPI
|
||||
Feature: Case Note Negative Tests
|
||||
Requirements:
|
||||
a workspace with three cases of the process "Test Users-Step-Properties End Point"
|
||||
|
||||
@@ -46,10 +46,7 @@ Scenario: Returns the variables can be system variables and/or case variables.
|
||||
And the "date3" property equals "2014-03-03"
|
||||
And the "date4" property equals "2014-03-01"
|
||||
And the "suggest2" property equals "51049032352d56710347233042615067"
|
||||
And the "suggest2_label" property equals "aaron"
|
||||
|
||||
|
||||
|
||||
And the "suggest2_label" property equals "aaron"
|
||||
And the "sample" property in row 1 of property "grid" equals "jose"
|
||||
And the "currency1" property equals "12,334,444.00"
|
||||
And the "percentage1" property equals "333.00 %"
|
||||
|
||||
@@ -38,58 +38,4 @@ Scenario: Sends variables to a case (negative tests)
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
And the type is "object"
|
||||
|
||||
|
||||
|
||||
18130826553359171798e40060879912
|
||||
|
||||
"nameany": "wendy344%",
|
||||
"namealphabetic": "nestor123",
|
||||
"namealphanumeric": "rad1233$%",
|
||||
"nameinteger": "342432,7",
|
||||
"namerealnumber": "35353",
|
||||
"nameemail": "wendycolosacom",
|
||||
"namelogin": "sample",
|
||||
"valorreal": "242343253,253.00",
|
||||
"valorinteger": "346436363",
|
||||
"porcentagereal": "64600",
|
||||
"porcentageinteger": "464",
|
||||
"observaciones": "ninguna",
|
||||
"areascolosa": "sample",
|
||||
"areascolosa_label": "sample",
|
||||
"COUNTRY": "BOA",
|
||||
"COUNTRY_label": "Bolivia",
|
||||
"STATE": "aH",
|
||||
"STATE_label": "Chuquisaca",
|
||||
"LOCATION": "SRE",
|
||||
"LOCATION_label": "Sucre",
|
||||
"aprobado": "20",
|
||||
"aprobadohint": "0",
|
||||
"checkbox1": "sample",
|
||||
"checkbox2": "oki",
|
||||
"checkbox3": "Off",
|
||||
"radiogroup1": "hola",
|
||||
"radiogroup1_label": "Primero",
|
||||
"date1": "hola",
|
||||
"date2": "2013-11-08",
|
||||
"date3": "2014-03-09",
|
||||
"date4": "2014-03-02",
|
||||
"suggest2": "51049032352d56710347233042615067",
|
||||
"suggest2_label": "sample",
|
||||
"grid": {
|
||||
"1": {
|
||||
"sample": "hugo",
|
||||
"currency1": "2,424,234.00",
|
||||
"percentage1": "354.00 %",
|
||||
"suggest1_label": "dorothy",
|
||||
"suggest1": "81205219852d56719a97fc3086456770",
|
||||
"textarea1": "ninguno",
|
||||
"dropdown1": "uno",
|
||||
"yesno1": "0",
|
||||
"checkbox1": "On",
|
||||
"date1": "2014-03-20",
|
||||
"link1": "http://www.google.com/",
|
||||
"link1_label": "link1",
|
||||
"file1": "Tuesday.docx",
|
||||
"dropdown1_label": "uno"
|
||||
And the type is "object"
|
||||
@@ -59,21 +59,21 @@ Scenario: Returns a list of the cases for the logged in user (Advanced-Search)
|
||||
|
||||
|
||||
|
||||
#Scenarios para filtros y paginacion de las listas
|
||||
#Scenarios para filtros y paginacion en listas
|
||||
Scenario Outline: Get paging of list inbox
|
||||
Given I request "cases/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 14 | 200 |
|
||||
| uppercase in Limit | 1 | A | 14 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -104,7 +104,7 @@ Scenario Outline: Get order type of Descending and Acending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -119,7 +119,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -134,7 +134,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -149,7 +149,7 @@ Scenario Outline: Get order type of Search of number the process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -167,18 +167,18 @@ Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
|
||||
|
||||
Scenario Outline: Get paging of list Draft
|
||||
Given I request "cases/draft/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/draft/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 15 | 200 |
|
||||
| uppercase in Limit | 1 | A | 15 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -209,7 +209,7 @@ Scenario Outline: Get order type of Descending and Ascending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -225,7 +225,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -240,7 +240,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -255,7 +255,7 @@ Scenario Outline: Get order type of Search of the process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -272,18 +272,18 @@ Scenario: Returns a list of the cases for the logged in user (Participated)
|
||||
And the response has 30 records
|
||||
|
||||
Scenario Outline: Get paging of list Participated
|
||||
Given I request "cases/participated/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/participated/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 30 | 200 |
|
||||
| uppercase in Limit | 1 | A | 30 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -314,7 +314,7 @@ Scenario Outline: Get order type of Descending an Descending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -330,7 +330,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -345,7 +345,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -361,7 +361,7 @@ Scenario Outline: Get order type of Search
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -379,18 +379,18 @@ Scenario: Returns a list of the cases for the logged in user (Unassigned)
|
||||
|
||||
|
||||
Scenario Outline: Get paging of list Unassigned
|
||||
Given I request "cases/Unassigned/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/Unassigned/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 12 | 200 |
|
||||
| uppercase in Limit | 1 | A | 12 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -421,7 +421,7 @@ Scenario Outline: Get order type of Descending and Acending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -436,7 +436,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -451,7 +451,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -466,7 +466,7 @@ Scenario Outline: Get order type of Search
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -485,18 +485,18 @@ Scenario: Returns a list of the cases for the logged in user (Paused)
|
||||
|
||||
|
||||
Scenario Outline: Get paging of list Paused
|
||||
Given I request "cases/paused/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/paused/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 12 | 200 |
|
||||
| uppercase in Limit | 1 | A | 12 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -527,7 +527,7 @@ Scenario Outline: Get order type of Descending and Acending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -542,7 +542,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -557,7 +557,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -572,7 +572,7 @@ Scenario Outline: Get order type of Search
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -590,18 +590,18 @@ Scenario: Returns a list of the cases for the logged in user (Advanced Search)
|
||||
|
||||
|
||||
Scenario Outline: Get paging of list Advanced Search
|
||||
Given I request "cases/advanced-search/paged?Start=<start>&limit=<limit>"
|
||||
Given I request "cases/advanced-search/paged?start=<start>&limit=<limit>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
| test_description | start | limit | records | http_code |
|
||||
| lowercase in Start | a | 1 | 1 | 200 |
|
||||
| uppercase in Start | A | 1 | 1 | 200 |
|
||||
| lowercase in start | a | 1 | 1 | 200 |
|
||||
| uppercase in start | A | 1 | 1 | 200 |
|
||||
| lowercase in Limit | 1 | a | 30 | 200 |
|
||||
| uppercase in Limit | 1 | A | 30 | 200 |
|
||||
| limit=3 | 1 | 3 | 3 | 200 |
|
||||
@@ -632,7 +632,7 @@ Scenario Outline: Get order type of Descending and Acending
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -647,7 +647,7 @@ Scenario Outline: Get order type of Process Category
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -663,7 +663,7 @@ Scenario Outline: Get order type of Process
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -679,7 +679,7 @@ Scenario Outline: Get order type of Search
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -694,7 +694,7 @@ Scenario Outline: Get order for Status
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -711,7 +711,7 @@ Scenario Outline: Get order for User
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
@@ -728,7 +728,7 @@ Scenario Outline: Get order for date
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
And the response has <records> records in property "data"
|
||||
And the response has <records> records
|
||||
|
||||
Examples:
|
||||
|
||||
|
||||
@@ -9,38 +9,38 @@ Scenario: Returns a list of the cases for the logged in user (Inbox)
|
||||
Given I request "cases"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Draft)
|
||||
Given I request "cases/draft"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Participated)
|
||||
Given I request "cases/participated"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Unassigned)
|
||||
Given I request "cases/unassigned"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Paused)
|
||||
Given I request "cases/paused"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
|
||||
Scenario: Returns a list of the cases for the logged in user (Advanced Search)
|
||||
Given I request "cases/advanced-search"
|
||||
Then the response status code should be 400
|
||||
And the response has 4 records
|
||||
And the response status message should have the following text "<records>"
|
||||
And the response status message should have the following text "Records"
|
||||
@@ -41,7 +41,7 @@ Scenario: Generate or regenerates an output documents for a given case
|
||||
|
||||
Scenario: Delete an uploaded or generated document from a case.
|
||||
And that I want to delete a resource with the key "app_doc_uid_0" stored in session array
|
||||
Gie I request "output-document"
|
||||
Given I request "output-document"
|
||||
Then the response status code should be 200
|
||||
And the content type is "application/json"
|
||||
And the response charset is "UTF-8"
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
@ProcessMakerMichelangelo @RestAPI
|
||||
Feature: Output Documents cases Main Tests
|
||||
Requirements:
|
||||
a workspace with one case of the process "Test Output Document Case"
|
||||
and there are six Output Documents in the process
|
||||
|
||||
Background:
|
||||
Given that I have a valid access_token
|
||||
|
||||
Scenario Outline: Pull information of an inexistent input document. should return an error
|
||||
Given I request "cases/64654381053382b8bb4c415067063003/input-document/<input-document>"
|
||||
Then the response status code should be 200
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
<?php
|
||||
namespace Maveriks;
|
||||
|
||||
use ProcessMaker\Services\Api;
|
||||
use Maveriks\Util;
|
||||
use Luracast\Restler\RestException;
|
||||
use ProcessMaker\Services;
|
||||
|
||||
class WebApplication
|
||||
{
|
||||
protected $rootDir = "";
|
||||
protected $workflowDir = "";
|
||||
protected $workspaceDir = "";
|
||||
protected $workspaceCacheDir = "";
|
||||
protected $requestUri = "";
|
||||
protected $responseMultipart = array();
|
||||
|
||||
@@ -86,7 +87,7 @@ class WebApplication
|
||||
} else {
|
||||
$this->dispatchApiRequest($request["uri"], $request["version"]);
|
||||
}
|
||||
Util\Logger::log("API::End Dispatching ".$_SERVER["REQUEST_METHOD"]." ".$request["uri"]);
|
||||
Util\Logger::log("API::End Dispatch");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -105,19 +106,10 @@ class WebApplication
|
||||
public function multipart($uri, $version = "1.0")
|
||||
{
|
||||
$stringInput = file_get_contents('php://input');
|
||||
if (empty($stringInput)) {
|
||||
$rest = new \Maveriks\Extension\Restler();
|
||||
$rest->setMessage(new RestException(Api::STAT_APP_EXCEPTION, "Invalid Request, multipart without body."));
|
||||
exit();
|
||||
} else {
|
||||
$input = json_decode($stringInput);
|
||||
if (empty($input->calls)) {
|
||||
$rest = new \Maveriks\Extension\Restler();
|
||||
$rest->setMessage(new RestException(Api::STAT_APP_EXCEPTION, "Invalid Request, multipart body without calls."));
|
||||
exit();
|
||||
}
|
||||
if (is_null($stringInput)) {
|
||||
return array(); //no body
|
||||
}
|
||||
|
||||
$input = json_decode($stringInput);
|
||||
|
||||
$baseUrl = (empty($input->base_url)) ? $uri : $input->base_url;
|
||||
foreach($input->calls as $value) {
|
||||
@@ -152,6 +144,8 @@ class WebApplication
|
||||
*/
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
require_once $this->rootDir . "framework/src/Maveriks/Extension/Restler/UploadFormat.php";
|
||||
|
||||
// $servicesDir contains directory where Services Classes are allocated
|
||||
$servicesDir = $this->workflowDir . 'engine' . DS . 'src' . DS . 'ProcessMaker' . DS . 'Services' . DS;
|
||||
// $apiDir - contains directory to scan classes and add them to Restler
|
||||
@@ -166,15 +160,27 @@ class WebApplication
|
||||
/*
|
||||
* Load Api ini file for Rest Service
|
||||
*/
|
||||
$apiIniConf = array();
|
||||
$config = array();
|
||||
|
||||
if (file_exists($apiIniFile)) {
|
||||
$apiIniConf = Util\Common::parseIniFile($apiIniFile);
|
||||
$cachedConfig = $this->workspaceCacheDir . "api-config.php";
|
||||
|
||||
// verify if config cache file exists, is array and the last modification date is the same when cache was created.
|
||||
if (! file_exists($cachedConfig) || ! is_array($config = include($cachedConfig)) || $config["_chk"] != filemtime($apiIniFile)) {
|
||||
$config = Util\Common::parseIniFile($apiIniFile);
|
||||
$config["_chk"] = filemtime($apiIniFile);
|
||||
if (! is_dir(dirname($cachedConfig))) {
|
||||
Util\Common::mk_dir(dirname($cachedConfig));
|
||||
}
|
||||
file_put_contents($cachedConfig, "<?php return " . var_export($config, true).";");
|
||||
Util\Logger::log("Configuration cache was loaded and cached to: $cachedConfig");
|
||||
} else {
|
||||
Util\Logger::log("Loading Api Configuration from: $cachedConfig");
|
||||
}
|
||||
}
|
||||
|
||||
// Setting current workspace to Api class
|
||||
\ProcessMaker\Services\Api::setWorkspace(SYS_SYS);
|
||||
// TODO remove this setting on the future, it is not needed, but if it is not present is throwing a warning
|
||||
//\Luracast\Restler\Format\HtmlFormat::$viewPath = $servicesDir . 'oauth2/views';
|
||||
Services\Api::setWorkspace(SYS_SYS);
|
||||
|
||||
// create a new Restler instance
|
||||
//$rest = new \Luracast\Restler\Restler();
|
||||
@@ -190,20 +196,13 @@ class WebApplication
|
||||
// Setting database connection source
|
||||
list($host, $port) = strpos(DB_HOST, ':') !== false ? explode(':', DB_HOST) : array(DB_HOST, '');
|
||||
$port = empty($port) ? '' : ";port=$port";
|
||||
\ProcessMaker\Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port);
|
||||
Services\OAuth2\Server::setDatabaseSource(DB_USER, DB_PASS, DB_ADAPTER.":host=$host;dbname=".DB_NAME.$port);
|
||||
|
||||
// Setting default OAuth Client id, for local PM Web Designer
|
||||
\ProcessMaker\Services\OAuth2\Server::setPmClientId($pmOauthClientId);
|
||||
Services\OAuth2\Server::setPmClientId($pmOauthClientId);
|
||||
|
||||
require_once $this->workflowDir . "engine/src/Extension/Restler/UploadFormat.php";
|
||||
//require_once PATH_CORE
|
||||
|
||||
//$rest->setSupportedFormats('JsonFormat', 'XmlFormat', 'UploadFormat');
|
||||
//$rest->setOverridingFormats('UploadFormat', 'JsonFormat', 'XmlFormat', 'HtmlFormat');
|
||||
$rest->setOverridingFormats('JsonFormat', 'UploadFormat');
|
||||
|
||||
// Override $_SERVER['REQUEST_URI'] to Restler handles the current url correctly
|
||||
|
||||
$isPluginRequest = strpos($uri, '/plugin-') !== false ? true : false;
|
||||
|
||||
if ($isPluginRequest) {
|
||||
@@ -215,6 +214,7 @@ class WebApplication
|
||||
$uri = str_replace('/plugin-'.$pluginName, '', $uri);
|
||||
}
|
||||
|
||||
// Override $_SERVER['REQUEST_URI'] to Restler handles the modified url
|
||||
$_SERVER['REQUEST_URI'] = $uri;
|
||||
|
||||
if (! $isPluginRequest) { // if it is not a request for a plugin endpoint
|
||||
@@ -224,19 +224,17 @@ class WebApplication
|
||||
foreach ($classesList as $classFile) {
|
||||
if (pathinfo($classFile, PATHINFO_EXTENSION) === 'php') {
|
||||
$namespace = '\\ProcessMaker\\Services\\' . str_replace(
|
||||
DIRECTORY_SEPARATOR,
|
||||
'\\',
|
||||
str_replace('.php', '', str_replace($servicesDir, '', $classFile))
|
||||
);
|
||||
//var_dump($namespace); die;
|
||||
DIRECTORY_SEPARATOR,
|
||||
'\\',
|
||||
str_replace('.php', '', str_replace($servicesDir, '', $classFile))
|
||||
);
|
||||
$rest->addAPIClass($namespace);
|
||||
}
|
||||
}
|
||||
|
||||
// adding aliases for Restler
|
||||
//print_r($apiIniConf);
|
||||
if (array_key_exists('alias', $apiIniConf)) {
|
||||
foreach ($apiIniConf['alias'] as $alias => $aliasData) {
|
||||
if (array_key_exists('alias', $config)) {
|
||||
foreach ($config['alias'] as $alias => $aliasData) {
|
||||
if (is_array($aliasData)) {
|
||||
foreach ($aliasData as $label => $namespace) {
|
||||
$namespace = '\\' . ltrim($namespace, '\\');
|
||||
@@ -391,7 +389,10 @@ class WebApplication
|
||||
require_once (PATH_DB . SYS_SYS . "/db.php");
|
||||
|
||||
// defining constant for workspace shared directory
|
||||
define("PATH_WORKSPACE", PATH_DB . SYS_SYS . PATH_SEP);
|
||||
$this->workspaceDir = PATH_DB . SYS_SYS . PATH_SEP;
|
||||
$this->workspaceCacheDir = PATH_DB . SYS_SYS . PATH_SEP . "cache" . PATH_SEP;
|
||||
|
||||
define("PATH_WORKSPACE", $this->workspaceDir);
|
||||
// including workspace shared classes -> particularlly for pmTables
|
||||
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE);
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
<directory>./tests/unit/</directory>
|
||||
</testsuite>
|
||||
-->
|
||||
<testsuite name="api">
|
||||
<directory>./workflow/engine/src/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<!-- <filter>
|
||||
|
||||
@@ -261,7 +261,9 @@ class ProcessCategory
|
||||
}
|
||||
//Return
|
||||
if ($oProcessCategory != '') {
|
||||
return $oProcessCategory;
|
||||
$oProcessCategory = array_change_key_case($oProcessCategory, CASE_LOWER);
|
||||
$oResponse = json_decode(json_encode($oProcessCategory), false);
|
||||
return $oResponse;
|
||||
} else {
|
||||
throw (new \Exception( 'The Category with cat_uid: '.$cat_uid.' doesn\'t exist!'));
|
||||
}
|
||||
@@ -291,7 +293,7 @@ class ProcessCategory
|
||||
$pcat->setCategoryUid( $catUid );
|
||||
$pcat->setCategoryName( $catName );
|
||||
$pcat->save();
|
||||
$oProcessCategory = array_change_key_case($this->getCategory( $catUid ), CASE_LOWER);
|
||||
$oProcessCategory = $this->getCategory( $catUid );
|
||||
//Return
|
||||
return $oProcessCategory;
|
||||
} catch (\Exception $e) {
|
||||
@@ -321,9 +323,10 @@ class ProcessCategory
|
||||
$pcat->setCategoryUid( $catUID );
|
||||
$pcat->setCategoryName( $catName );
|
||||
$pcat->save();
|
||||
$oProcessCategory = array_change_key_case($this->getCategory( $cat_uid ), CASE_LOWER);
|
||||
$oProcessCategory = $this->getCategory( $cat_uid );
|
||||
//Return
|
||||
return $oProcessCategory;
|
||||
$oResponse = json_decode(json_encode($oProcessCategory), false);
|
||||
return $oResponse;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
|
||||
@@ -8,11 +8,25 @@ if (!class_exists("Propel")) {
|
||||
/**
|
||||
* Class ProcessCategoryTest
|
||||
*
|
||||
* @package Tests\BusinessModel
|
||||
* @package Tests/ProcessMaker/BusinessModel
|
||||
*/
|
||||
class ProcessCategoryTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
protected static $arrayUid = array();
|
||||
protected $oCategory;
|
||||
|
||||
/**
|
||||
* Set class for test
|
||||
*
|
||||
* @coversNothing
|
||||
*
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function setUp()
|
||||
{
|
||||
$this->oCategory = new \ProcessMaker\BusinessModel\ProcessCategory();
|
||||
}
|
||||
|
||||
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
@@ -26,6 +40,67 @@ class ProcessCategoryTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test add Category
|
||||
*
|
||||
* @covers \BusinessModel\ProcessCategory::addCategory
|
||||
*
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function testAddCategory()
|
||||
{
|
||||
$response = $this->oCategory->addCategory('New Category Test');
|
||||
$this->assertTrue(is_object($response));
|
||||
$aResponse = json_decode(json_encode($response), true);
|
||||
return $aResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test put Category
|
||||
*
|
||||
* @covers \BusinessModel\ProcessCategory::updateCategory
|
||||
* @depends testAddCategory
|
||||
* @param array $aResponse
|
||||
*
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function testUpdateCategory(array $aResponse)
|
||||
{
|
||||
$response = $this->oCategory->updateCategory($aResponse["cat_uid"], 'Name Update Category Test');
|
||||
$this->assertTrue(is_object($response));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get Category
|
||||
*
|
||||
* @covers \BusinessModel\ProcessCategory::getCategory
|
||||
* @depends testAddCategory
|
||||
* @param array $aResponse
|
||||
*
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function testGetCategory(array $aResponse)
|
||||
{
|
||||
$response = $this->oCategory->getCategory($aResponse["cat_uid"]);
|
||||
$this->assertTrue(is_object($response));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test delete Category
|
||||
*
|
||||
* @covers \BusinessModel\ProcessCategory::deleteCategory
|
||||
* @depends testAddCategory
|
||||
* @param array $aResponse
|
||||
*
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function testDeleteCategory(array $aResponse)
|
||||
{
|
||||
$response = $this->oCategory->deleteCategory($aResponse["cat_uid"]);
|
||||
$this->assertTrue(empty($response));
|
||||
}
|
||||
|
||||
public function testCreate()
|
||||
{
|
||||
try {
|
||||
@@ -46,6 +121,7 @@ class ProcessCategoryTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertNotEmpty($processCategoryUid);
|
||||
}
|
||||
|
||||
|
||||
public function testGetCategories()
|
||||
{
|
||||
$processCategory = new \ProcessMaker\BusinessModel\ProcessCategory();
|
||||
|
||||
Reference in New Issue
Block a user