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 | 1 | 0 | 200 | array |
|
||||||
| high number for start | a | 1000 | 0 | 0 | 200 | array |
|
| high number for start | a | 1000 | 0 | 0 | 200 | array |
|
||||||
| empty result | xyz | 0 | 0 | 0 | 200 | array |
|
| empty result | xyz | 0 | 0 | 0 | 200 | array |
|
||||||
| empty string | | 0 | 10000 | 0 | 200 | array |
|
| empty string | | 0 | 10000 | 3 | 200 | array |
|
||||||
| empty string | | 1 | 2 | 0 | 200 | array |
|
| empty string | | 1 | 2 | 2 | 200 | array |
|
||||||
| invalid start | a | b | c | 0 | 400 | string|
|
| invalid start | a | b | c | 0 | 400 | string|
|
||||||
| invalid limit | a | 0 | c | 0 | 400 | string|
|
| invalid limit | a | 0 | c | 0 | 400 | string|
|
||||||
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
|
| search 0 | 0 | 0 | 0 | 0 | 200 | array |
|
||||||
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
|
| search 0 | 0 | 0 | 100 | 0 | 200 | array |
|
||||||
| negative numbers | a | -10 | -20 | 0 | 200 | array |
|
| negative numbers | a | -10 | -20 | 0 | 400 | string|
|
||||||
| real numbers | a | 0.0 | 1.0 | 0 | 400 | string|
|
| real numbers | a | 0.0 | 1.0 | 1 | 200 | string|
|
||||||
| real numbers | a | 0.0 | 0.0 | 0 | 400 | string|
|
| real numbers | a | 0.0 | 0.0 | 3 | 200 | string|
|
||||||
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string|
|
| real numbers | a | 0.1 | 1.4599 | 0 | 400 | string|
|
||||||
| real numbers | a | 1.5 | 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 );
|
$oCriteria->add( \UsersPeer::USR_USERNAME, $sWS_USER );
|
||||||
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
|
$userIsAssigned = \GroupUserPeer::doCount( $oCriteria );
|
||||||
if (! ($userIsAssigned >= 1)) {
|
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);
|
$oDataset = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
@@ -237,7 +237,7 @@ class ProjectUser
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$messageCode = $result->message;
|
throw (new \Exception( $result->message));
|
||||||
}
|
}
|
||||||
return $messageCode;
|
return $messageCode;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|||||||
@@ -651,7 +651,7 @@ class Task
|
|||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
$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( $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);
|
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||||
@@ -663,10 +663,18 @@ class Task
|
|||||||
$oCriteria->add(\TaskUserPeer::TU_TYPE, 1);
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, 1);
|
||||||
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||||
if ($start) {
|
if ($start) {
|
||||||
$oCriteria->setOffset( $start );
|
if ($start < 0) {
|
||||||
|
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||||
|
} else {
|
||||||
|
$oCriteria->setOffset( $start );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($limit) {
|
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 = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
@@ -762,16 +770,24 @@ class Task
|
|||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
$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( $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_STATUS, 'ACTIVE');
|
||||||
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
||||||
if ($start) {
|
if ($start) {
|
||||||
$oCriteria->setOffset( $start );
|
if ($start < 0) {
|
||||||
|
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||||
|
} else {
|
||||||
|
$oCriteria->setOffset( $start );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($limit) {
|
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 = \UsersPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
@@ -1090,7 +1106,7 @@ class Task
|
|||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_USERNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
$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( $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);
|
$oCriteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||||
@@ -1102,10 +1118,18 @@ class Task
|
|||||||
$oCriteria->add(\TaskUserPeer::TU_TYPE, 2);
|
$oCriteria->add(\TaskUserPeer::TU_TYPE, 2);
|
||||||
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
$oCriteria->add(\TaskUserPeer::TU_RELATION, 1);
|
||||||
if ($start) {
|
if ($start) {
|
||||||
$oCriteria->setOffset( $start );
|
if ($start < 0) {
|
||||||
|
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||||
|
} else {
|
||||||
|
$oCriteria->setOffset( $start );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($limit) {
|
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 = \TaskUserPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
@@ -1198,16 +1222,24 @@ class Task
|
|||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
$oCriteria->addSelectColumn(\UsersPeer::USR_LASTNAME);
|
||||||
$oCriteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
$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( $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_STATUS, 'ACTIVE');
|
||||||
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
$oCriteria->add(\UsersPeer::USR_UID, $aUIDS2, \Criteria::NOT_IN);
|
||||||
if ($start) {
|
if ($start) {
|
||||||
$oCriteria->setOffset( $start );
|
if ($start < 0) {
|
||||||
|
throw (new \Exception( 'invalid value specified for `start`.'));
|
||||||
|
} else {
|
||||||
|
$oCriteria->setOffset( $start );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($limit) {
|
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 = \UsersPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class ProjectUsers extends Api
|
|||||||
*
|
*
|
||||||
* @url POST /:prjUid/ws/user/can-start-task
|
* @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 {
|
try {
|
||||||
$request_data = (array)($request_data);
|
$request_data = (array)($request_data);
|
||||||
|
|||||||
Reference in New Issue
Block a user