2023-09-12
(C) Questetra, Inc. (MIT License)
3
2
This item cancels the specified sign request on Box.
この工程は、Box 上の指定の署名リクエストをキャンセルします。
https://support.questetra.com/bpmn-icons/service-task-box-sign-request-cancel/
https://support.questetra.com/ja/bpmn-icons/service-task-box-sign-request-cancel/
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEBElEQVRYR82Xb2jbRRjHP/fL2jXJ
0qSd65x11aK0YgJWZUwEWZ0DfSNaHYKKmgykbP7pH/SVghvCkIlb6kREwfyGOougbgxB2Yt1oGwg
aietdOJoV21ty2ob26xdm+TkLsufJr+2Sdtt3pv8uDx3z+ee+z53zwmucRMF+ff/9ijEtwB1IDwI
9QtIOkGOA50I0UHIezTfeRcH8Pd64GITyGaE8OQ1sVQwIgiONsxqBTZvWxjA3+UHDuTtONuNBjEC
mLcfmY9gfgB/dxBBU14rXsxIyiCmr8XKzBog0GWCeG6xeQv6X2JiegPZY3IBVnLlOVtCG6a3ObN7
LoDacyFCBa2sUGMpGjI1kQbQao/0Lllw+YJoYTqrk9mRAdC9G8Eb+c6zLDvJHkzvbjVHGiDQpXLX
nZw4tOMGyp02Hjn457J8WQ5WUTB9ZWkAdcIJ+XWm8XCwFkexwLWrZ+UB9OmZ0EIiAhbKH2lLAKzZ
eaUAEhmRAAh0dYBQZ3yqKQDnaoPDp8PUVZXo/pM9EV75Ylh/77q/jO2bSlmz2mBgLErjoUHad95I
Z/80re0Jmw+e3UD1dcU8uP+8RRTlSUK++ssA3X3ATdkA61y2nIE/9k7Rd2GWx+4uxWZkAP8bo9Ru
YAho+XyIUruNNxsqiMzE8bxgEUV1gZneO5MAMtuTioACUM7e+W4Uj8Pg5W1rdV9cwvSsxPx+nNPn
LvLStnI2VdsZi8TwOGyMTsY0nNth493j/9DSPmSto5BXLAigsmDLW7388MeUnuDVh9ay74n1+vvI
zxM0vJfOkNGDtdiLDH7pn+beW+3a5kRPhK37rMJ/mScDIGcLBvfXsM61isrWs4xMxPSIpza7+ayx
Un8rbTz94UBqZX8fqNFp+82vkzTc5dL9n54K88xHaZu5YZBnCPnq5hXhqdequecWO2rPH3j7PBvc
qzjWVEXN9cV6HhVmJbwvf5rgcGMlT2526y1wldiYiUl9wKhtUHp4/8TYIiK0SMP6WgdfvbiRMqeN
yKU4NkNQUiToH51lcDyq4aIxtMjcdoOpGYkSkrJpOz6qt6OxvowLkzEqms7mAsjMNLQ4iNSIrbc5
2bu9QqdSNC7pHrjEjo8H+GssyifPV3JfjQNHscFQOMqeoyPsfXw9vw/P8HBbv3b4bWsVG8uL8L5+
zgIg8yBSf2cdxdayXaleGSbk0+Xd/+gyUtexiPRlXkgrtd4s9YeRzptzr2NldU0LkiTmlS3JUnVA
0t3VK0qRhwj5VJk/p12lsjxdAeUPoDWhCpW4KtFTlVJhwpRhpOFf2sMkpQn9NGtGyOb8QZRj/TQL
Lu9plr1c/TiV9QipHqUeEHckTOQZYBwpOkF0LLTiwragsHgvyfo/g3CBMFgjn40AAAAASUVORK5C
YII=
{
const auth = httpClient.createAuthSettingOAuth2(
'Box Sign',
'https://account.box.com/api/oauth2/authorize',
'https://api.box.com/oauth2/token',
'sign_requests.readwrite root_readwrite',
'consumer_key',
'consumer_secret',
'access_token'
);
configs.putObject('conf_OAuth2', auth);
const requestIdDef = engine.createDataDefinition(
"リクエスト ID",
3,
"q_requestId",
"STRING_TEXTFIELD"
);
configs.putObject("conf_RequestId", requestIdDef);
engine.setData(requestIdDef, requestId);
return requestIdDef;
};
/**
* 異常系のテスト
* @param func
* @param errorMsg
*/
const assertError = (func, errorMsg) => {
try {
func();
fail();
} catch (e) {
expect(e.toString()).toEqual(errorMsg);
}
};
/**
* リクエスト ID を指定し、値が空
*/
test("No Request ID", () => {
prepareConfigs(null);
assertError(main, 'Request ID is blank');
});
/**
* Post リクエスト のテスト
* @param url
* @param method
* @param requestId
*/
const assertPostRequest = ({ url, method }, requestId) => {
expect(url).toEqual(`https://api.box.com/2.0/sign_requests/${requestId}/cancel`);
expect(method).toEqual('POST');
};
/**
* POST リクエストで失敗
*/
test("POST Failed", () => {
prepareConfigs("12345");
httpClient.setRequestHandler((request) => {
assertPostRequest(request, "12345");
return httpClient.createHttpResponse(404, "application/json", "{}");
});
assertError(main, 'Failed to cancel. status: 404');
});
/**
* 正常系 ステータスは sent、viewed など
*/
test("Success - sent viewed", () => {
const requestIdDef = prepareConfigs("00000");
httpClient.setRequestHandler((request) => {
assertPostRequest(request, "00000");
return httpClient.createHttpResponse(200, "application/json", "{}");
});
main();
expect(engine.findData(requestIdDef)).toEqual("00000");
});
/**
* キャンセル処理せずに正常終了 ステータスは declined、signed、cancelled、converting 等
*/
test("Success - 400", () => {
const requestIdDef = prepareConfigs("45678");
httpClient.setRequestHandler((request) => {
assertPostRequest(request, "45678");
return httpClient.createHttpResponse(400, 'application/json', "{}");
});
main();
expect(engine.findData(requestIdDef)).toEqual("45678");
});
]]>