Merged in darojas/processmaker (pull request #110)
Se agregan BEHAT para PROJECT USERS, se agregan validaciones de mensajes en mensajes de error. Valdaciones para ASSIGNEE
This commit is contained in:
@@ -57,15 +57,15 @@ Scenario Outline: Assign a user or group to an activity (Field validation)
|
||||
| high number for start | a | 1000 | 1 | 0 | 200 | array |
|
||||
| high number for start | a | 1000 | 0 | 0 | 200 | array |
|
||||
| empty result | xyz | 0 | 0 | 0 | 200 | array |
|
||||
| empty string | | 0 | 10000 | 0 | 200 | array |
|
||||
| empty string | | 1 | 2 | 0 | 200 | array |
|
||||
| empty string | | 0 | 10000 | 3 | 200 | array |
|
||||
| empty string | | 1 | 2 | 2 | 200 | array |
|
||||
| invalid start | a | b | c | 0 | 400 | string|
|
||||
| invalid limit | a | 0 | c | 0 | 400 | string|
|
||||
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
|
||||
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
|
||||
| negative numbers | a | -10 | -20 | 0 | 200 | array |
|
||||
| real numbers | a | 0.0 | 1.0 | 0 | 400 | string|
|
||||
| real numbers | a | 0.0 | 0.0 | 0 | 400 | string|
|
||||
| negative numbers | a | -10 | -20 | 0 | 400 | string|
|
||||
| real numbers | a | 0.0 | 1.0 | 1 | 200 | string|
|
||||
| real numbers | a | 0.0 | 0.0 | 3 | 200 | string|
|
||||
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string|
|
||||
| real numbers | a | 1.5 | 1.4599 | 0 | 400 | string|
|
||||
|
||||
|
||||
49
features/backend/project_user_resources/project_user.feature
Normal file
49
features/backend/project_user_resources/project_user.feature
Normal file
@@ -0,0 +1,49 @@
|
||||
@ProcessMakerMichelangelo @RestAPI
|
||||
Feature: Project User Resources
|
||||
|
||||
Background:
|
||||
Given that I have a valid access_token
|
||||
|
||||
Scenario: Get a list of users of a project
|
||||
Given I request "project/1265557095225ff5c688f46031700471/users"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario: Get a list of starting task of a project
|
||||
Given I request "project/1265557095225ff5c688f46031700471/starting-tasks"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario: Get a list of start task of a user
|
||||
Given I request "project/1265557095225ff5c688f46031700471/user/00000000000000000000000000000001/starting-tasks"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario Outline: Verify if a user can start a task
|
||||
Given POST this data:
|
||||
"""
|
||||
{
|
||||
"act_uid": "<act_uid>",
|
||||
"username": "<username>",
|
||||
"password": "<password>"
|
||||
}
|
||||
"""
|
||||
And I request "project/1265557095225ff5c688f46031700471/ws/user/can-start-task"
|
||||
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 "<type>"
|
||||
|
||||
Examples:
|
||||
| test_description | act_uid | username | password | http_code | type |
|
||||
| error username | 1352844695225ff5fe54de2005407079 | adm | admin | 400 | string |
|
||||
| error password | 1352844695225ff5fe54de2005407079 | admin | adm | 400 | string |
|
||||
| short activity | 1352844695225ff5fe54de20 | admin | admin | 400 | string |
|
||||
| error activity | 225ff5fe54de20054070791352844695 | admin | admin | 400 | string |
|
||||
| all ok | 1352844695225ff5fe54de2005407079 | admin | admin | 200 | array |
|
||||
@@ -223,7 +223,7 @@ class ProjectUser
|
||||
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
|
||||
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
|
||||
if (! ($userIsAssigned >= 1)) {
|
||||
$messageCode = "The User `" . $sWS_USER . "` doesn't have the activity `" . $sTASKS . "` assigned";
|
||||
throw (new \Exception( "The User `" . $sWS_USER . "` doesn't have the activity `" . $sTASKS . "` assigned"));
|
||||
}
|
||||
}
|
||||
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||
@@ -237,7 +237,7 @@ class ProjectUser
|
||||
$oDataset->next();
|
||||
}
|
||||
} else {
|
||||
$messageCode = $result->message;
|
||||
throw (new \Exception( $result->message));
|
||||
}
|
||||
return $messageCode;
|
||||
} catch (Exception $e) {
|
||||
|
||||
@@ -651,7 +651,7 @@ class Task
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||
if ($filter) {
|
||||
if ($filter || $filter=='0') {
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) );
|
||||
}
|
||||
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||
@@ -663,10 +663,18 @@ class Task
|
||||
$oCriteria->add(\TaskUserPeer::TU_TYPE, 1);
|
||||
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||
if ($start) {
|
||||
$oCriteria->setOffset( $start );
|
||||
if ($start < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||
} else {
|
||||
$oCriteria->setOffset( $start );
|
||||
}
|
||||
}
|
||||
if ($limit) {
|
||||
$oCriteria->setLimit( $limit );
|
||||
if ($limit < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `limit`.'));
|
||||
} else {
|
||||
$oCriteria->setLimit( $limit );
|
||||
}
|
||||
}
|
||||
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
@@ -762,16 +770,24 @@ class Task
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||
if ($filter) {
|
||||
if ($filter || $filter=='0') {
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) );
|
||||
}
|
||||
$oCriteria->add(\UsersPeer::USR_STATUS, 'ACTIVE');
|
||||
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
||||
if ($start) {
|
||||
$oCriteria->setOffset( $start );
|
||||
if ($start < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||
} else {
|
||||
$oCriteria->setOffset( $start );
|
||||
}
|
||||
}
|
||||
if ($limit) {
|
||||
$oCriteria->setLimit( $limit );
|
||||
if ($limit < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `limit`.'));
|
||||
} else {
|
||||
$oCriteria->setLimit( $limit );
|
||||
}
|
||||
}
|
||||
$oDataset = \UsersPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
@@ -1090,7 +1106,7 @@ class Task
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||
if ($filter) {
|
||||
if ($filter || $filter=='0') {
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) );
|
||||
}
|
||||
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||
@@ -1102,10 +1118,18 @@ class Task
|
||||
$oCriteria->add(\TaskUserPeer::TU_TYPE, 2);
|
||||
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||
if ($start) {
|
||||
$oCriteria->setOffset( $start );
|
||||
if ($start < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||
} else {
|
||||
$oCriteria->setOffset( $start );
|
||||
}
|
||||
}
|
||||
if ($limit) {
|
||||
$oCriteria->setLimit( $limit );
|
||||
if ($limit < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `limit`.'));
|
||||
} else {
|
||||
$oCriteria->setLimit( $limit );
|
||||
}
|
||||
}
|
||||
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
@@ -1198,16 +1222,24 @@ class Task
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||
if ($filter) {
|
||||
if ($filter || $filter=='0') {
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( \UsersPeer::USR_USERNAME, "%$filter%", \Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_FIRSTNAME, "%$filter%", \Criteria::LIKE ) )->addOr( $oCriteria->getNewCriterion( \UsersPeer::USR_LASTNAME, "%$filter%", \Criteria::LIKE ) ) );
|
||||
}
|
||||
$oCriteria->add(\UsersPeer::USR_STATUS, 'ACTIVE');
|
||||
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
||||
if ($start) {
|
||||
$oCriteria->setOffset( $start );
|
||||
if ($start < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||
} else {
|
||||
$oCriteria->setOffset( $start );
|
||||
}
|
||||
}
|
||||
if ($limit) {
|
||||
$oCriteria->setLimit( $limit );
|
||||
if ($limit < 0) {
|
||||
throw (new \Exception( 'invalid value specified for `limit`.'));
|
||||
} else {
|
||||
$oCriteria->setLimit( $limit );
|
||||
}
|
||||
}
|
||||
$oDataset = \UsersPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
@@ -75,7 +75,7 @@ class ProjectUsers extends Api
|
||||
*
|
||||
* @url POST /:prjUid/ws/user/can-start-task
|
||||
*/
|
||||
public function doGetProjectWsUserCanStartTask($prjUid, wsUserCanStartTaskStructure $request_data = null)
|
||||
public function doPostProjectWsUserCanStartTask($prjUid, wsUserCanStartTaskStructure $request_data = null)
|
||||
{
|
||||
try {
|
||||
$request_data = (array)($request_data);
|
||||
|
||||
Reference in New Issue
Block a user