@newpeak/barista-cli 0.1.334 → 0.1.346
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/liberica/client-price/update.js +1 -1
- package/dist/commands/liberica/client-price/update.js.map +1 -1
- package/dist/commands/liberica/finance/proceeds/create.d.ts.map +1 -1
- package/dist/commands/liberica/finance/proceeds/create.js +102 -31
- package/dist/commands/liberica/finance/proceeds/create.js.map +1 -1
- package/dist/commands/liberica/inventory-shortage/create.d.ts.map +1 -1
- package/dist/commands/liberica/inventory-shortage/create.js.map +1 -1
- package/dist/commands/liberica/material-issue/create.d.ts.map +1 -1
- package/dist/commands/liberica/material-issue/create.js +0 -5
- package/dist/commands/liberica/material-issue/create.js.map +1 -1
- package/dist/commands/liberica/material-return/batch-review.d.ts.map +1 -1
- package/dist/commands/liberica/material-return/batch-review.js +1 -0
- package/dist/commands/liberica/material-return/batch-review.js.map +1 -1
- package/dist/commands/liberica/material-transfers/batch-review.d.ts.map +1 -1
- package/dist/commands/liberica/material-transfers/batch-review.js +0 -1
- package/dist/commands/liberica/material-transfers/batch-review.js.map +1 -1
- package/dist/commands/liberica/material-transfers/create.d.ts.map +1 -1
- package/dist/commands/liberica/material-transfers/create.js.map +1 -1
- package/dist/commands/liberica/purchase-orders/create.d.ts.map +1 -1
- package/dist/commands/liberica/purchase-orders/create.js +17 -0
- package/dist/commands/liberica/purchase-orders/create.js.map +1 -1
- package/dist/commands/liberica/routing/history.d.ts.map +1 -1
- package/dist/commands/liberica/routing/history.js.map +1 -1
- package/dist/commands/liberica/supplier-price/update.js +1 -1
- package/dist/commands/liberica/supplier-price/update.js.map +1 -1
- package/dist/commands/liberica/teams/index.d.ts.map +1 -1
- package/dist/commands/liberica/teams/index.js +12 -0
- package/dist/commands/liberica/teams/index.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/delete.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/delete.js +5 -3
- package/dist/commands/liberica/teams/tasks/delete.js.map +1 -1
- package/dist/commands/liberica/teams/test-cases/batch-delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/batch-delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/batch-delete.js +74 -0
- package/dist/commands/liberica/teams/test-cases/batch-delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/create.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/create.js +149 -0
- package/dist/commands/liberica/teams/test-cases/create.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/delete.js +55 -0
- package/dist/commands/liberica/teams/test-cases/delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/get.js +90 -0
- package/dist/commands/liberica/teams/test-cases/get.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/index.js +23 -0
- package/dist/commands/liberica/teams/test-cases/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/list.js +117 -0
- package/dist/commands/liberica/teams/test-cases/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/update.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/update.js +155 -0
- package/dist/commands/liberica/teams/test-cases/update.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/version-get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/version-get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/version-get.js +90 -0
- package/dist/commands/liberica/teams/test-cases/version-get.js.map +1 -0
- package/dist/commands/liberica/teams/test-cases/versions.d.ts +3 -0
- package/dist/commands/liberica/teams/test-cases/versions.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-cases/versions.js +93 -0
- package/dist/commands/liberica/teams/test-cases/versions.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/add.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/add.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/add.js +169 -0
- package/dist/commands/liberica/teams/test-executions/add.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/delete.js +55 -0
- package/dist/commands/liberica/teams/test-executions/delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/get.js +68 -0
- package/dist/commands/liberica/teams/test-executions/get.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/index.js +17 -0
- package/dist/commands/liberica/teams/test-executions/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/list.js +118 -0
- package/dist/commands/liberica/teams/test-executions/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-executions/update.d.ts +3 -0
- package/dist/commands/liberica/teams/test-executions/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-executions/update.js +130 -0
- package/dist/commands/liberica/teams/test-executions/update.js.map +1 -0
- package/dist/commands/liberica/teams/test-flaky/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-flaky/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-flaky/index.js +9 -0
- package/dist/commands/liberica/teams/test-flaky/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-flaky/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-flaky/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-flaky/list.js +98 -0
- package/dist/commands/liberica/teams/test-flaky/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/create.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/create.js +139 -0
- package/dist/commands/liberica/teams/test-projects/create.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/delete.js +55 -0
- package/dist/commands/liberica/teams/test-projects/delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/get.js +66 -0
- package/dist/commands/liberica/teams/test-projects/get.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/index.js +17 -0
- package/dist/commands/liberica/teams/test-projects/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/list.js +101 -0
- package/dist/commands/liberica/teams/test-projects/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-projects/update.d.ts +3 -0
- package/dist/commands/liberica/teams/test-projects/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-projects/update.js +118 -0
- package/dist/commands/liberica/teams/test-projects/update.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/create.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/create.js +141 -0
- package/dist/commands/liberica/teams/test-runs/create.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/delete.js +55 -0
- package/dist/commands/liberica/teams/test-runs/delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/get.js +68 -0
- package/dist/commands/liberica/teams/test-runs/get.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/index.js +17 -0
- package/dist/commands/liberica/teams/test-runs/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/list.js +113 -0
- package/dist/commands/liberica/teams/test-runs/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-runs/update.d.ts +3 -0
- package/dist/commands/liberica/teams/test-runs/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-runs/update.js +155 -0
- package/dist/commands/liberica/teams/test-runs/update.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/create.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/create.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/create.js +151 -0
- package/dist/commands/liberica/teams/test-suites/create.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/delete.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/delete.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/delete.js +55 -0
- package/dist/commands/liberica/teams/test-suites/delete.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/get.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/get.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/get.js +71 -0
- package/dist/commands/liberica/teams/test-suites/get.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/index.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/index.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/index.js +17 -0
- package/dist/commands/liberica/teams/test-suites/index.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/list.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/list.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/list.js +101 -0
- package/dist/commands/liberica/teams/test-suites/list.js.map +1 -0
- package/dist/commands/liberica/teams/test-suites/update.d.ts +3 -0
- package/dist/commands/liberica/teams/test-suites/update.d.ts.map +1 -0
- package/dist/commands/liberica/teams/test-suites/update.js +122 -0
- package/dist/commands/liberica/teams/test-suites/update.js.map +1 -0
- package/dist/commands/models/index.d.ts.map +1 -1
- package/dist/commands/models/index.js +1 -1
- package/dist/commands/models/index.js.map +1 -1
- package/dist/commands/models/models.d.ts.map +1 -1
- package/dist/commands/models/models.js +1 -13
- package/dist/commands/models/models.js.map +1 -1
- package/dist/core/api/client.d.ts +30 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +603 -20
- package/dist/core/api/client.js.map +1 -1
- package/dist/skills/barista-cli/scripts/generate.js +0 -1
- package/dist/skills/barista-cli/scripts/generate.js.map +1 -1
- package/dist/types/finance.d.ts +1 -0
- package/dist/types/finance.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/purchase-order.d.ts +1 -0
- package/dist/types/purchase-order.d.ts.map +1 -1
- package/dist/types/test-case.d.ts +336 -0
- package/dist/types/test-case.d.ts.map +1 -0
- package/dist/types/test-case.js +2 -0
- package/dist/types/test-case.js.map +1 -0
- package/package.json +4 -1
- package/skills/barista-cli/data/commands.json +175 -1
- package/skills/barista-cli/data/commands.yaml +112 -1
package/dist/core/api/client.js
CHANGED
|
@@ -16,7 +16,7 @@ export class APIClient {
|
|
|
16
16
|
if (typeof data !== 'string')
|
|
17
17
|
return data;
|
|
18
18
|
try {
|
|
19
|
-
const preserved = data.replace(/(?<=[
|
|
19
|
+
const preserved = data.replace(/(?<=[[:,\])\s*(-?\d{16,})\s*(?=[,\]}])/g, '"$1"');
|
|
20
20
|
return JSON.parse(preserved);
|
|
21
21
|
}
|
|
22
22
|
catch {
|
|
@@ -939,17 +939,8 @@ export const apiClient = {
|
|
|
939
939
|
return { success: true, data: cached.items };
|
|
940
940
|
}
|
|
941
941
|
try {
|
|
942
|
-
// Use dict API for richer data (dictCode, sortOrder, statusFlag).
|
|
943
|
-
// pageSize 200 is well above typical position counts (<50).
|
|
944
|
-
const result = await this.listDictItems(environment, tenant, {
|
|
945
|
-
dictTypeCode: 'POSITION_TYPE',
|
|
946
|
-
pageSize: 200,
|
|
947
|
-
});
|
|
948
|
-
if (!result.success) {
|
|
949
|
-
return { success: false, error: result.error };
|
|
950
|
-
}
|
|
951
942
|
// Helper to map dict item fields to PositionListItem
|
|
952
|
-
|
|
943
|
+
const mapDictItem = (d) => {
|
|
953
944
|
return {
|
|
954
945
|
id: String(d.dictId || ''),
|
|
955
946
|
name: String(d.dictName || ''),
|
|
@@ -960,6 +951,15 @@ export const apiClient = {
|
|
|
960
951
|
sortOrder: typeof d.sortOrder === 'number' ? d.sortOrder : 0,
|
|
961
952
|
statusFlag: typeof d.statusFlag === 'number' ? d.statusFlag : 1,
|
|
962
953
|
};
|
|
954
|
+
};
|
|
955
|
+
// Use dict API for richer data (dictCode, sortOrder, statusFlag).
|
|
956
|
+
// pageSize 200 is well above typical position counts (<50).
|
|
957
|
+
const result = await this.listDictItems(environment, tenant, {
|
|
958
|
+
dictTypeCode: 'POSITION_TYPE',
|
|
959
|
+
pageSize: 200,
|
|
960
|
+
});
|
|
961
|
+
if (!result.success) {
|
|
962
|
+
return { success: false, error: result.error };
|
|
963
963
|
}
|
|
964
964
|
const rawData = result.data;
|
|
965
965
|
let items = [];
|
|
@@ -4230,6 +4230,558 @@ export const apiClient = {
|
|
|
4230
4230
|
}
|
|
4231
4231
|
},
|
|
4232
4232
|
// ============================================
|
|
4233
|
+
// TestTracking: TestCase API methods
|
|
4234
|
+
// ============================================
|
|
4235
|
+
async listTestCases(environment, tenant, params) {
|
|
4236
|
+
try {
|
|
4237
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4238
|
+
if (!token) {
|
|
4239
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4240
|
+
}
|
|
4241
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4242
|
+
client.setAuthToken(token);
|
|
4243
|
+
const queryString = new URLSearchParams();
|
|
4244
|
+
if (params.pageNo !== undefined)
|
|
4245
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4246
|
+
if (params.pageSize)
|
|
4247
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4248
|
+
if (params.suiteId)
|
|
4249
|
+
queryString.append('suiteId', params.suiteId);
|
|
4250
|
+
if (params.status)
|
|
4251
|
+
queryString.append('status', params.status);
|
|
4252
|
+
if (params.projectCode)
|
|
4253
|
+
queryString.append('projectCode', params.projectCode);
|
|
4254
|
+
if (params.moduleCode)
|
|
4255
|
+
queryString.append('moduleCode', params.moduleCode);
|
|
4256
|
+
if (params.featureArea)
|
|
4257
|
+
queryString.append('featureArea', params.featureArea);
|
|
4258
|
+
if (params.name)
|
|
4259
|
+
queryString.append('name', params.name);
|
|
4260
|
+
const url = `/api/enterprise/team/test/case/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4261
|
+
const response = await client.getClient().get(url);
|
|
4262
|
+
return response.data;
|
|
4263
|
+
}
|
|
4264
|
+
catch (error) {
|
|
4265
|
+
return handleApiErrorTestCase(error);
|
|
4266
|
+
}
|
|
4267
|
+
},
|
|
4268
|
+
async getTestCase(environment, tenant, testCaseId) {
|
|
4269
|
+
try {
|
|
4270
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4271
|
+
if (!token) {
|
|
4272
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4273
|
+
}
|
|
4274
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4275
|
+
client.setAuthToken(token);
|
|
4276
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/case/detail?testCaseId=${testCaseId}`);
|
|
4277
|
+
return response.data;
|
|
4278
|
+
}
|
|
4279
|
+
catch (error) {
|
|
4280
|
+
return handleApiErrorTestCase(error);
|
|
4281
|
+
}
|
|
4282
|
+
},
|
|
4283
|
+
async createTestCase(environment, tenant, data) {
|
|
4284
|
+
try {
|
|
4285
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4286
|
+
if (!token) {
|
|
4287
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4288
|
+
}
|
|
4289
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4290
|
+
client.setAuthToken(token);
|
|
4291
|
+
const response = await client.getClient().post('/api/enterprise/team/test/case/add', data);
|
|
4292
|
+
return response.data;
|
|
4293
|
+
}
|
|
4294
|
+
catch (error) {
|
|
4295
|
+
return handleApiErrorTestCase(error);
|
|
4296
|
+
}
|
|
4297
|
+
},
|
|
4298
|
+
async updateTestCase(environment, tenant, data) {
|
|
4299
|
+
try {
|
|
4300
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4301
|
+
if (!token) {
|
|
4302
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4303
|
+
}
|
|
4304
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4305
|
+
client.setAuthToken(token);
|
|
4306
|
+
const response = await client.getClient().post('/api/enterprise/team/test/case/edit', data);
|
|
4307
|
+
return response.data;
|
|
4308
|
+
}
|
|
4309
|
+
catch (error) {
|
|
4310
|
+
return handleApiErrorTestCase(error);
|
|
4311
|
+
}
|
|
4312
|
+
},
|
|
4313
|
+
async deleteTestCase(environment, tenant, testCaseId) {
|
|
4314
|
+
try {
|
|
4315
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4316
|
+
if (!token) {
|
|
4317
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4318
|
+
}
|
|
4319
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4320
|
+
client.setAuthToken(token);
|
|
4321
|
+
const response = await client.getClient().post('/api/enterprise/team/test/case/del', { testCaseId });
|
|
4322
|
+
return response.data;
|
|
4323
|
+
}
|
|
4324
|
+
catch (error) {
|
|
4325
|
+
return handleApiErrorTestCase(error);
|
|
4326
|
+
}
|
|
4327
|
+
},
|
|
4328
|
+
async batchDeleteTestCase(environment, tenant, data) {
|
|
4329
|
+
try {
|
|
4330
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4331
|
+
if (!token) {
|
|
4332
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4333
|
+
}
|
|
4334
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4335
|
+
client.setAuthToken(token);
|
|
4336
|
+
const response = await client.getClient().post('/api/enterprise/team/test/case/batchDel', data);
|
|
4337
|
+
return response.data;
|
|
4338
|
+
}
|
|
4339
|
+
catch (error) {
|
|
4340
|
+
return handleApiErrorTestCase(error);
|
|
4341
|
+
}
|
|
4342
|
+
},
|
|
4343
|
+
// ============================================
|
|
4344
|
+
// TestTracking: TestProject API methods
|
|
4345
|
+
// ============================================
|
|
4346
|
+
async listTestProjects(environment, tenant, params) {
|
|
4347
|
+
try {
|
|
4348
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4349
|
+
if (!token) {
|
|
4350
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4351
|
+
}
|
|
4352
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4353
|
+
client.setAuthToken(token);
|
|
4354
|
+
const queryString = new URLSearchParams();
|
|
4355
|
+
if (params.pageNo !== undefined)
|
|
4356
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4357
|
+
if (params.pageSize)
|
|
4358
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4359
|
+
if (params.projectCode)
|
|
4360
|
+
queryString.append('projectCode', params.projectCode);
|
|
4361
|
+
if (params.projectType)
|
|
4362
|
+
queryString.append('projectType', params.projectType);
|
|
4363
|
+
if (params.testFramework)
|
|
4364
|
+
queryString.append('testFramework', params.testFramework);
|
|
4365
|
+
const url = `/api/enterprise/team/test/project/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4366
|
+
const response = await client.getClient().get(url);
|
|
4367
|
+
return response.data;
|
|
4368
|
+
}
|
|
4369
|
+
catch (error) {
|
|
4370
|
+
return handleApiErrorTestProject(error);
|
|
4371
|
+
}
|
|
4372
|
+
},
|
|
4373
|
+
async getTestProject(environment, tenant, testProjectId) {
|
|
4374
|
+
try {
|
|
4375
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4376
|
+
if (!token) {
|
|
4377
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4378
|
+
}
|
|
4379
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4380
|
+
client.setAuthToken(token);
|
|
4381
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/project/detail?testProjectId=${testProjectId}`);
|
|
4382
|
+
return response.data;
|
|
4383
|
+
}
|
|
4384
|
+
catch (error) {
|
|
4385
|
+
return handleApiErrorTestProject(error);
|
|
4386
|
+
}
|
|
4387
|
+
},
|
|
4388
|
+
async createTestProject(environment, tenant, data) {
|
|
4389
|
+
try {
|
|
4390
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4391
|
+
if (!token) {
|
|
4392
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4393
|
+
}
|
|
4394
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4395
|
+
client.setAuthToken(token);
|
|
4396
|
+
const response = await client.getClient().post('/api/enterprise/team/test/project/add', data);
|
|
4397
|
+
return response.data;
|
|
4398
|
+
}
|
|
4399
|
+
catch (error) {
|
|
4400
|
+
return handleApiErrorTestProject(error);
|
|
4401
|
+
}
|
|
4402
|
+
},
|
|
4403
|
+
async updateTestProject(environment, tenant, data) {
|
|
4404
|
+
try {
|
|
4405
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4406
|
+
if (!token) {
|
|
4407
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4408
|
+
}
|
|
4409
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4410
|
+
client.setAuthToken(token);
|
|
4411
|
+
const response = await client.getClient().post('/api/enterprise/team/test/project/edit', data);
|
|
4412
|
+
return response.data;
|
|
4413
|
+
}
|
|
4414
|
+
catch (error) {
|
|
4415
|
+
return handleApiErrorTestProject(error);
|
|
4416
|
+
}
|
|
4417
|
+
},
|
|
4418
|
+
async deleteTestProject(environment, tenant, testProjectId) {
|
|
4419
|
+
try {
|
|
4420
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4421
|
+
if (!token) {
|
|
4422
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4423
|
+
}
|
|
4424
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4425
|
+
client.setAuthToken(token);
|
|
4426
|
+
const response = await client.getClient().post('/api/enterprise/team/test/project/delete', { testProjectId });
|
|
4427
|
+
return response.data;
|
|
4428
|
+
}
|
|
4429
|
+
catch (error) {
|
|
4430
|
+
return handleApiErrorTestProject(error);
|
|
4431
|
+
}
|
|
4432
|
+
},
|
|
4433
|
+
// ============================================
|
|
4434
|
+
// TestTracking: TestSuite API methods
|
|
4435
|
+
// ============================================
|
|
4436
|
+
async listTestSuites(environment, tenant, params) {
|
|
4437
|
+
try {
|
|
4438
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4439
|
+
if (!token) {
|
|
4440
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4441
|
+
}
|
|
4442
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4443
|
+
client.setAuthToken(token);
|
|
4444
|
+
const queryString = new URLSearchParams();
|
|
4445
|
+
if (params.pageNo !== undefined)
|
|
4446
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4447
|
+
if (params.pageSize)
|
|
4448
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4449
|
+
if (params.testProjectId)
|
|
4450
|
+
queryString.append('testProjectId', params.testProjectId);
|
|
4451
|
+
if (params.moduleCode)
|
|
4452
|
+
queryString.append('moduleCode', params.moduleCode);
|
|
4453
|
+
if (params.testType)
|
|
4454
|
+
queryString.append('testType', params.testType);
|
|
4455
|
+
const url = `/api/enterprise/team/test/suite/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4456
|
+
const response = await client.getClient().get(url);
|
|
4457
|
+
return response.data;
|
|
4458
|
+
}
|
|
4459
|
+
catch (error) {
|
|
4460
|
+
return handleApiErrorTestSuite(error);
|
|
4461
|
+
}
|
|
4462
|
+
},
|
|
4463
|
+
async getTestSuite(environment, tenant, testSuiteId) {
|
|
4464
|
+
try {
|
|
4465
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4466
|
+
if (!token) {
|
|
4467
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4468
|
+
}
|
|
4469
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4470
|
+
client.setAuthToken(token);
|
|
4471
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/suite/detail?testSuiteId=${testSuiteId}`);
|
|
4472
|
+
return response.data;
|
|
4473
|
+
}
|
|
4474
|
+
catch (error) {
|
|
4475
|
+
return handleApiErrorTestSuite(error);
|
|
4476
|
+
}
|
|
4477
|
+
},
|
|
4478
|
+
async createTestSuite(environment, tenant, data) {
|
|
4479
|
+
try {
|
|
4480
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4481
|
+
if (!token) {
|
|
4482
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4483
|
+
}
|
|
4484
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4485
|
+
client.setAuthToken(token);
|
|
4486
|
+
const response = await client.getClient().post('/api/enterprise/team/test/suite/add', data);
|
|
4487
|
+
return response.data;
|
|
4488
|
+
}
|
|
4489
|
+
catch (error) {
|
|
4490
|
+
return handleApiErrorTestSuite(error);
|
|
4491
|
+
}
|
|
4492
|
+
},
|
|
4493
|
+
async updateTestSuite(environment, tenant, data) {
|
|
4494
|
+
try {
|
|
4495
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4496
|
+
if (!token) {
|
|
4497
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4498
|
+
}
|
|
4499
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4500
|
+
client.setAuthToken(token);
|
|
4501
|
+
const response = await client.getClient().post('/api/enterprise/team/test/suite/edit', data);
|
|
4502
|
+
return response.data;
|
|
4503
|
+
}
|
|
4504
|
+
catch (error) {
|
|
4505
|
+
return handleApiErrorTestSuite(error);
|
|
4506
|
+
}
|
|
4507
|
+
},
|
|
4508
|
+
async deleteTestSuite(environment, tenant, testSuiteId) {
|
|
4509
|
+
try {
|
|
4510
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4511
|
+
if (!token) {
|
|
4512
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4513
|
+
}
|
|
4514
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4515
|
+
client.setAuthToken(token);
|
|
4516
|
+
const response = await client.getClient().post('/api/enterprise/team/test/suite/delete', { testSuiteId });
|
|
4517
|
+
return response.data;
|
|
4518
|
+
}
|
|
4519
|
+
catch (error) {
|
|
4520
|
+
return handleApiErrorTestSuite(error);
|
|
4521
|
+
}
|
|
4522
|
+
},
|
|
4523
|
+
// ============================================
|
|
4524
|
+
// TestTracking: TestRun API methods
|
|
4525
|
+
// ============================================
|
|
4526
|
+
async listTestRuns(environment, tenant, params) {
|
|
4527
|
+
try {
|
|
4528
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4529
|
+
if (!token) {
|
|
4530
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4531
|
+
}
|
|
4532
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4533
|
+
client.setAuthToken(token);
|
|
4534
|
+
const queryString = new URLSearchParams();
|
|
4535
|
+
if (params.pageNo !== undefined)
|
|
4536
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4537
|
+
if (params.pageSize)
|
|
4538
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4539
|
+
if (params.projectCode)
|
|
4540
|
+
queryString.append('projectCode', params.projectCode);
|
|
4541
|
+
if (params.status)
|
|
4542
|
+
queryString.append('status', params.status);
|
|
4543
|
+
if (params.suiteId)
|
|
4544
|
+
queryString.append('suiteId', params.suiteId);
|
|
4545
|
+
if (params.branch)
|
|
4546
|
+
queryString.append('branch', params.branch);
|
|
4547
|
+
if (params.triggerSource)
|
|
4548
|
+
queryString.append('triggerSource', params.triggerSource);
|
|
4549
|
+
const url = `/api/enterprise/team/test/run/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4550
|
+
const response = await client.getClient().get(url);
|
|
4551
|
+
return response.data;
|
|
4552
|
+
}
|
|
4553
|
+
catch (error) {
|
|
4554
|
+
return handleApiErrorTestRun(error);
|
|
4555
|
+
}
|
|
4556
|
+
},
|
|
4557
|
+
async getTestRun(environment, tenant, testRunId) {
|
|
4558
|
+
try {
|
|
4559
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4560
|
+
if (!token) {
|
|
4561
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4562
|
+
}
|
|
4563
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4564
|
+
client.setAuthToken(token);
|
|
4565
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/run/detail?testRunId=${testRunId}`);
|
|
4566
|
+
return response.data;
|
|
4567
|
+
}
|
|
4568
|
+
catch (error) {
|
|
4569
|
+
return handleApiErrorTestRun(error);
|
|
4570
|
+
}
|
|
4571
|
+
},
|
|
4572
|
+
async createTestRun(environment, tenant, data) {
|
|
4573
|
+
try {
|
|
4574
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4575
|
+
if (!token) {
|
|
4576
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4577
|
+
}
|
|
4578
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4579
|
+
client.setAuthToken(token);
|
|
4580
|
+
const response = await client.getClient().post('/api/enterprise/team/test/run/add', data);
|
|
4581
|
+
return response.data;
|
|
4582
|
+
}
|
|
4583
|
+
catch (error) {
|
|
4584
|
+
return handleApiErrorTestRun(error);
|
|
4585
|
+
}
|
|
4586
|
+
},
|
|
4587
|
+
async updateTestRun(environment, tenant, data) {
|
|
4588
|
+
try {
|
|
4589
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4590
|
+
if (!token) {
|
|
4591
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4592
|
+
}
|
|
4593
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4594
|
+
client.setAuthToken(token);
|
|
4595
|
+
const response = await client.getClient().post('/api/enterprise/team/test/run/edit', data);
|
|
4596
|
+
return response.data;
|
|
4597
|
+
}
|
|
4598
|
+
catch (error) {
|
|
4599
|
+
return handleApiErrorTestRun(error);
|
|
4600
|
+
}
|
|
4601
|
+
},
|
|
4602
|
+
async deleteTestRun(environment, tenant, testRunId) {
|
|
4603
|
+
try {
|
|
4604
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4605
|
+
if (!token) {
|
|
4606
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4607
|
+
}
|
|
4608
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4609
|
+
client.setAuthToken(token);
|
|
4610
|
+
const response = await client.getClient().post('/api/enterprise/team/test/run/delete', { testRunId });
|
|
4611
|
+
return response.data;
|
|
4612
|
+
}
|
|
4613
|
+
catch (error) {
|
|
4614
|
+
return handleApiErrorTestRun(error);
|
|
4615
|
+
}
|
|
4616
|
+
},
|
|
4617
|
+
// ============================================
|
|
4618
|
+
// TestTracking: TestExecution API methods
|
|
4619
|
+
// ============================================
|
|
4620
|
+
async listTestExecutions(environment, tenant, params) {
|
|
4621
|
+
try {
|
|
4622
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4623
|
+
if (!token) {
|
|
4624
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4625
|
+
}
|
|
4626
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4627
|
+
client.setAuthToken(token);
|
|
4628
|
+
const queryString = new URLSearchParams();
|
|
4629
|
+
if (params.pageNo !== undefined)
|
|
4630
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4631
|
+
if (params.pageSize)
|
|
4632
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4633
|
+
if (params.runId)
|
|
4634
|
+
queryString.append('runId', params.runId);
|
|
4635
|
+
if (params.testCaseId)
|
|
4636
|
+
queryString.append('testCaseId', params.testCaseId);
|
|
4637
|
+
if (params.status)
|
|
4638
|
+
queryString.append('status', params.status);
|
|
4639
|
+
if (params.errorCategory)
|
|
4640
|
+
queryString.append('errorCategory', params.errorCategory);
|
|
4641
|
+
if (params.browser)
|
|
4642
|
+
queryString.append('browser', params.browser);
|
|
4643
|
+
if (params.os)
|
|
4644
|
+
queryString.append('os', params.os);
|
|
4645
|
+
if (params.retryNumber !== undefined)
|
|
4646
|
+
queryString.append('retryNumber', params.retryNumber.toString());
|
|
4647
|
+
const url = `/api/enterprise/team/test/execution/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4648
|
+
const response = await client.getClient().get(url);
|
|
4649
|
+
return response.data;
|
|
4650
|
+
}
|
|
4651
|
+
catch (error) {
|
|
4652
|
+
return handleApiErrorTestExecution(error);
|
|
4653
|
+
}
|
|
4654
|
+
},
|
|
4655
|
+
async getTestExecution(environment, tenant, testExecutionId) {
|
|
4656
|
+
try {
|
|
4657
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4658
|
+
if (!token) {
|
|
4659
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4660
|
+
}
|
|
4661
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4662
|
+
client.setAuthToken(token);
|
|
4663
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/execution/detail?testExecutionId=${testExecutionId}`);
|
|
4664
|
+
return response.data;
|
|
4665
|
+
}
|
|
4666
|
+
catch (error) {
|
|
4667
|
+
return handleApiErrorTestExecution(error);
|
|
4668
|
+
}
|
|
4669
|
+
},
|
|
4670
|
+
async createTestExecution(environment, tenant, data) {
|
|
4671
|
+
try {
|
|
4672
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4673
|
+
if (!token) {
|
|
4674
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4675
|
+
}
|
|
4676
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4677
|
+
client.setAuthToken(token);
|
|
4678
|
+
const response = await client.getClient().post('/api/enterprise/team/test/execution/add', data);
|
|
4679
|
+
return response.data;
|
|
4680
|
+
}
|
|
4681
|
+
catch (error) {
|
|
4682
|
+
return handleApiErrorTestExecution(error);
|
|
4683
|
+
}
|
|
4684
|
+
},
|
|
4685
|
+
async updateTestExecution(environment, tenant, data) {
|
|
4686
|
+
try {
|
|
4687
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4688
|
+
if (!token) {
|
|
4689
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4690
|
+
}
|
|
4691
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4692
|
+
client.setAuthToken(token);
|
|
4693
|
+
const response = await client.getClient().post('/api/enterprise/team/test/execution/edit', data);
|
|
4694
|
+
return response.data;
|
|
4695
|
+
}
|
|
4696
|
+
catch (error) {
|
|
4697
|
+
return handleApiErrorTestExecution(error);
|
|
4698
|
+
}
|
|
4699
|
+
},
|
|
4700
|
+
async deleteTestExecution(environment, tenant, testExecutionId) {
|
|
4701
|
+
try {
|
|
4702
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4703
|
+
if (!token) {
|
|
4704
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4705
|
+
}
|
|
4706
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4707
|
+
client.setAuthToken(token);
|
|
4708
|
+
const response = await client.getClient().post('/api/enterprise/team/test/execution/delete', { testExecutionId });
|
|
4709
|
+
return response.data;
|
|
4710
|
+
}
|
|
4711
|
+
catch (error) {
|
|
4712
|
+
return handleApiErrorTestExecution(error);
|
|
4713
|
+
}
|
|
4714
|
+
},
|
|
4715
|
+
// ============================================
|
|
4716
|
+
// TestTracking: TestCaseVersion API methods
|
|
4717
|
+
// ============================================
|
|
4718
|
+
async listTestCaseVersions(environment, tenant, params) {
|
|
4719
|
+
try {
|
|
4720
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4721
|
+
if (!token) {
|
|
4722
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4723
|
+
}
|
|
4724
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4725
|
+
client.setAuthToken(token);
|
|
4726
|
+
const queryString = new URLSearchParams();
|
|
4727
|
+
if (params.pageNo !== undefined)
|
|
4728
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4729
|
+
if (params.pageSize)
|
|
4730
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4731
|
+
if (params.testCaseId)
|
|
4732
|
+
queryString.append('testCaseId', params.testCaseId);
|
|
4733
|
+
const url = `/api/enterprise/team/test/case/version/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4734
|
+
const response = await client.getClient().get(url);
|
|
4735
|
+
return response.data;
|
|
4736
|
+
}
|
|
4737
|
+
catch (error) {
|
|
4738
|
+
return handleApiErrorTestCaseVersion(error);
|
|
4739
|
+
}
|
|
4740
|
+
},
|
|
4741
|
+
async getTestCaseVersion(environment, tenant, versionId) {
|
|
4742
|
+
try {
|
|
4743
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4744
|
+
if (!token) {
|
|
4745
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4746
|
+
}
|
|
4747
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4748
|
+
client.setAuthToken(token);
|
|
4749
|
+
const response = await client.getClient().get(`/api/enterprise/team/test/case/version/detail?versionId=${versionId}`);
|
|
4750
|
+
return response.data;
|
|
4751
|
+
}
|
|
4752
|
+
catch (error) {
|
|
4753
|
+
return handleApiErrorTestCaseVersion(error);
|
|
4754
|
+
}
|
|
4755
|
+
},
|
|
4756
|
+
// ============================================
|
|
4757
|
+
// TestTracking: FlakyTest API methods
|
|
4758
|
+
// ============================================
|
|
4759
|
+
async listFlakyTests(environment, tenant, params) {
|
|
4760
|
+
try {
|
|
4761
|
+
const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
|
|
4762
|
+
if (!token) {
|
|
4763
|
+
return { success: false, error: { code: 'NO_TOKEN', message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment } };
|
|
4764
|
+
}
|
|
4765
|
+
const client = createAPIClient('liberica', environment, tenant);
|
|
4766
|
+
client.setAuthToken(token);
|
|
4767
|
+
const queryString = new URLSearchParams();
|
|
4768
|
+
if (params.pageNo !== undefined)
|
|
4769
|
+
queryString.append('pageNo', params.pageNo.toString());
|
|
4770
|
+
if (params.pageSize)
|
|
4771
|
+
queryString.append('pageSize', params.pageSize.toString());
|
|
4772
|
+
if (params.projectCode)
|
|
4773
|
+
queryString.append('projectCode', params.projectCode);
|
|
4774
|
+
if (params.suiteId)
|
|
4775
|
+
queryString.append('suiteId', params.suiteId);
|
|
4776
|
+
const url = `/api/enterprise/team/test/flaky/page${queryString.toString() ? '?' + queryString.toString() : ''}`;
|
|
4777
|
+
const response = await client.getClient().get(url);
|
|
4778
|
+
return response.data;
|
|
4779
|
+
}
|
|
4780
|
+
catch (error) {
|
|
4781
|
+
return handleApiErrorFlakyTest(error);
|
|
4782
|
+
}
|
|
4783
|
+
},
|
|
4784
|
+
// ============================================
|
|
4233
4785
|
// TransferInForm API methods
|
|
4234
4786
|
// ============================================
|
|
4235
4787
|
async listTransferInForms(environment, tenant, params) {
|
|
@@ -10083,6 +10635,27 @@ export const apiClient = {
|
|
|
10083
10635
|
}
|
|
10084
10636
|
},
|
|
10085
10637
|
};
|
|
10638
|
+
function handleApiErrorTestCase(error) {
|
|
10639
|
+
return extractApiError(error);
|
|
10640
|
+
}
|
|
10641
|
+
function handleApiErrorTestProject(error) {
|
|
10642
|
+
return extractApiError(error);
|
|
10643
|
+
}
|
|
10644
|
+
function handleApiErrorTestSuite(error) {
|
|
10645
|
+
return extractApiError(error);
|
|
10646
|
+
}
|
|
10647
|
+
function handleApiErrorTestRun(error) {
|
|
10648
|
+
return extractApiError(error);
|
|
10649
|
+
}
|
|
10650
|
+
function handleApiErrorTestExecution(error) {
|
|
10651
|
+
return extractApiError(error);
|
|
10652
|
+
}
|
|
10653
|
+
function handleApiErrorTestCaseVersion(error) {
|
|
10654
|
+
return extractApiError(error);
|
|
10655
|
+
}
|
|
10656
|
+
function handleApiErrorFlakyTest(error) {
|
|
10657
|
+
return extractApiError(error);
|
|
10658
|
+
}
|
|
10086
10659
|
function handleApiErrorStockReservation(error) {
|
|
10087
10660
|
return extractApiError(error);
|
|
10088
10661
|
}
|
|
@@ -10150,9 +10723,17 @@ export function extractApiError(error, context) {
|
|
|
10150
10723
|
};
|
|
10151
10724
|
}
|
|
10152
10725
|
const exceptionTip = responseData.exceptionTip;
|
|
10726
|
+
const httpStatus = axiosError.response?.status;
|
|
10727
|
+
const httpSuffix = httpStatus ? ` (HTTP ${httpStatus})` : '';
|
|
10728
|
+
const reqMethod = axiosError.config?.method ? axiosError.config.method.toUpperCase() : '';
|
|
10729
|
+
const reqUrl = axiosError.config?.url || '';
|
|
10730
|
+
const reqContext = reqMethod && reqUrl ? ` [${reqMethod} ${reqUrl}]` : '';
|
|
10731
|
+
const fallbackMsg = message || 'API error occurred';
|
|
10153
10732
|
const enhancedMessage = exceptionTip
|
|
10154
|
-
? `${
|
|
10155
|
-
: (
|
|
10733
|
+
? `${fallbackMsg}\n Backend: ${exceptionTip}`
|
|
10734
|
+
: (fallbackMsg === 'API error occurred' && (httpSuffix || reqContext)
|
|
10735
|
+
? `${fallbackMsg}${httpSuffix}${reqContext}`
|
|
10736
|
+
: fallbackMsg);
|
|
10156
10737
|
return {
|
|
10157
10738
|
success: false,
|
|
10158
10739
|
error: {
|
|
@@ -10163,6 +10744,12 @@ export function extractApiError(error, context) {
|
|
|
10163
10744
|
}
|
|
10164
10745
|
}
|
|
10165
10746
|
// Fallback: passthrough for already-normalized responses
|
|
10747
|
+
// Include HTTP status code + request context to help diagnose backend issues (e.g. regression TYP-9747ac4b)
|
|
10748
|
+
const httpStatus = axiosError.response?.status;
|
|
10749
|
+
const httpSuffix = httpStatus ? ` (HTTP ${httpStatus})` : '';
|
|
10750
|
+
const reqMethod = axiosError.config?.method ? axiosError.config.method.toUpperCase() : '';
|
|
10751
|
+
const reqUrl = axiosError.config?.url || '';
|
|
10752
|
+
const reqContext = reqMethod && reqUrl ? ` [${reqMethod} ${reqUrl}]` : '';
|
|
10166
10753
|
const fallbackMessage = responseData.error?.message ||
|
|
10167
10754
|
responseData.message ||
|
|
10168
10755
|
'API error occurred';
|
|
@@ -10175,7 +10762,9 @@ export function extractApiError(error, context) {
|
|
|
10175
10762
|
'API_ERROR',
|
|
10176
10763
|
message: exceptionTip
|
|
10177
10764
|
? `${fallbackMessage}\n Backend: ${exceptionTip}`
|
|
10178
|
-
: fallbackMessage
|
|
10765
|
+
: (fallbackMessage === 'API error occurred' && (httpSuffix || reqContext)
|
|
10766
|
+
? `${fallbackMessage}${httpSuffix}${reqContext}`
|
|
10767
|
+
: fallbackMessage),
|
|
10179
10768
|
},
|
|
10180
10769
|
};
|
|
10181
10770
|
}
|
|
@@ -10294,9 +10883,6 @@ function handleApiErrorOutsourcingStockIn(error) {
|
|
|
10294
10883
|
function handleApiErrorPurchaseOrder(error) {
|
|
10295
10884
|
return extractApiError(error);
|
|
10296
10885
|
}
|
|
10297
|
-
function handleApiErrorSalesOrder(error) {
|
|
10298
|
-
return extractApiError(error);
|
|
10299
|
-
}
|
|
10300
10886
|
function handleApiErrorActualProduction(error) {
|
|
10301
10887
|
return extractApiError(error);
|
|
10302
10888
|
}
|
|
@@ -10315,9 +10901,6 @@ function handleApiErrorMrpTask(error) {
|
|
|
10315
10901
|
function handleApiErrorAps(error) {
|
|
10316
10902
|
return extractApiError(error);
|
|
10317
10903
|
}
|
|
10318
|
-
function handleApiErrorPlanOrder(error) {
|
|
10319
|
-
return extractApiError(error);
|
|
10320
|
-
}
|
|
10321
10904
|
function handleApiErrorPhysicalInventory(error) {
|
|
10322
10905
|
return extractApiError(error);
|
|
10323
10906
|
}
|