@autobe/agent 0.20.0 → 0.21.0
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/lib/agent/src/AutoBeMockAgent.js +1 -0
- package/lib/agent/src/AutoBeMockAgent.js.map +1 -1
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.d.ts +10 -9
- package/lib/agent/src/constants/AutoBeSystemPromptConstant.js.map +1 -1
- package/lib/agent/src/context/AutoBeContext.d.ts +2 -2
- package/lib/agent/src/factory/createAutoBeContext.js +3 -1
- package/lib/agent/src/factory/createAutoBeContext.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js +3 -3
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceComplementHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +4 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js +33 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceOperationsReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemaHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js +2 -2
- package/lib/agent/src/orchestrate/interface/histories/transformInterfaceSchemasReviewHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceAuthorizations.js +6 -6
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js +5 -3
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpoints.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +10 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js +365 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperations.js +6 -6
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js +1633 -1198
- package/lib/agent/src/orchestrate/interface/orchestrateInterfaceOperationsReview.js.map +1 -1
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +60 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js +3 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.js.map +1 -0
- package/lib/agent/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +40 -0
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js +1 -1
- package/lib/agent/src/orchestrate/realize/histories/transformRealizeWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeCorrect.js +4 -4
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js +2 -2
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeScenario.js.map +1 -1
- package/lib/agent/src/orchestrate/realize/orchestrateRealizeWrite.js +4 -4
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +2 -2
- package/lib/agent/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +7 -2
- package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js +1 -1
- package/lib/agent/src/orchestrate/test/compile/getTestExternalDeclarations.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js +41 -25
- package/lib/agent/src/orchestrate/test/histories/transformTestCorrectHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestScenarioHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.d.ts +3 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js +118 -96
- package/lib/agent/src/orchestrate/test/histories/transformTestWriteHistories.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestScenario.js +10 -10
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js +1 -1
- package/lib/agent/src/orchestrate/test/orchestrateTestWrite.js.map +1 -1
- package/lib/agent/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +28 -1
- package/lib/constants/AutoBeSystemPromptConstant.d.ts +10 -9
- package/lib/context/AutoBeContext.d.ts +2 -2
- package/lib/index.mjs +2315 -1526
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.d.ts +4 -0
- package/lib/orchestrate/interface/orchestrateInterfaceEndpointsReview.d.ts +10 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.d.ts +60 -0
- package/lib/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.d.ts +40 -0
- package/lib/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.d.ts +2 -2
- package/lib/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.d.ts +7 -2
- package/lib/orchestrate/test/histories/transformTestCorrectHistories.d.ts +3 -1
- package/lib/orchestrate/test/histories/transformTestWriteHistories.d.ts +3 -1
- package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +28 -1
- package/package.json +6 -6
- package/src/AutoBeMockAgent.ts +1 -0
- package/src/constants/AutoBeSystemPromptConstant.ts +10 -9
- package/src/context/AutoBeContext.ts +2 -0
- package/src/factory/createAutoBeContext.ts +2 -1
- package/src/orchestrate/interface/histories/transformInterfaceEndpointsReviewHistories.ts +39 -0
- package/src/orchestrate/interface/orchestrateInterfaceEndpoints.ts +5 -1
- package/src/orchestrate/interface/orchestrateInterfaceEndpointsReview.ts +95 -0
- package/src/orchestrate/interface/orchestrateInterfaceOperationsReview.ts +118 -10
- package/src/orchestrate/interface/structures/IAutoBeInterfaceEndpointsReviewApplication.ts +65 -0
- package/src/orchestrate/interface/structures/IAutoBeInterfaceOperationsReviewApplication.ts +42 -0
- package/src/orchestrate/realize/orchestrateRealizeScenario.ts +7 -3
- package/src/orchestrate/realize/structures/IAutoBeRealizeScenarioApplication.ts +6 -2
- package/src/orchestrate/realize/structures/IAutoBeRealizeWriteApplication.ts +10 -5
- package/src/orchestrate/test/compile/getTestExternalDeclarations.ts +2 -0
- package/src/orchestrate/test/histories/transformTestCorrectHistories.ts +46 -34
- package/src/orchestrate/test/histories/transformTestWriteHistories.ts +24 -4
- package/src/orchestrate/test/orchestrateTestCorrect.ts +5 -1
- package/src/orchestrate/test/orchestrateTestWrite.ts +1 -1
- package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +28 -1
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.d.ts +0 -3
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js +0 -75
- package/lib/agent/src/orchestrate/test/histories/transformTestHistories.js.map +0 -1
- package/lib/orchestrate/test/histories/transformTestHistories.d.ts +0 -3
- package/src/orchestrate/test/histories/transformTestHistories.ts +0 -78
|
@@ -488,7 +488,7 @@ const collection = {
|
|
|
488
488
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
489
489
|
},
|
|
490
490
|
scenarios: {
|
|
491
|
-
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\n\n@minItems 1",
|
|
491
|
+
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.\n\n\n@minItems 1",
|
|
492
492
|
type: "array",
|
|
493
493
|
items: {
|
|
494
494
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
|
|
@@ -509,7 +509,7 @@ const collection = {
|
|
|
509
509
|
type: "string"
|
|
510
510
|
},
|
|
511
511
|
method: {
|
|
512
|
-
description: "HTTP method of the API operation.\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
512
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\", not \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
513
513
|
type: "string",
|
|
514
514
|
"enum": [
|
|
515
515
|
"get",
|
|
@@ -526,7 +526,7 @@ const collection = {
|
|
|
526
526
|
]
|
|
527
527
|
},
|
|
528
528
|
"IAutoBeTestScenarioApplication.IScenario": {
|
|
529
|
-
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.",
|
|
529
|
+
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
|
|
530
530
|
type: "object",
|
|
531
531
|
properties: {
|
|
532
532
|
draft: {
|
|
@@ -538,7 +538,7 @@ const collection = {
|
|
|
538
538
|
type: "string"
|
|
539
539
|
},
|
|
540
540
|
dependencies: {
|
|
541
|
-
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose
|
|
541
|
+
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose`.\n\nWARNING: Every endpoint referenced here MUST exist in the provided API\noperations. Do NOT reference endpoints that are not explicitly available,\neven if they seem logically necessary based on database schema or\nbusiness logic.",
|
|
542
542
|
type: "array",
|
|
543
543
|
items: {
|
|
544
544
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IDependencies"
|
|
@@ -552,7 +552,7 @@ const collection = {
|
|
|
552
552
|
]
|
|
553
553
|
},
|
|
554
554
|
"IAutoBeTestScenarioApplication.IDependencies": {
|
|
555
|
-
description: "### Description of {@link endpoint} property:\n\n> Target API endpoint that this scenario depends on.",
|
|
555
|
+
description: "### Description of {@link endpoint} property:\n\n> Target API endpoint that this scenario depends on.\n> \n> This endpoint MUST exist in the available API operations list.\n> Non-existent endpoints will cause test implementation failures.",
|
|
556
556
|
type: "object",
|
|
557
557
|
properties: {
|
|
558
558
|
endpoint: {
|
|
@@ -740,7 +740,7 @@ const collection = {
|
|
|
740
740
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
741
741
|
},
|
|
742
742
|
scenarios: {
|
|
743
|
-
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method
|
|
743
|
+
description: "An array of test scenarios associated with the given endpoint.\n\nEach scenario represents a specific test case for the same `path` and\n`method`.\n\nIMPORTANT: Each scenario must be actually implementable. A scenario's\nimplementability is determined by the existence of ALL APIs (endpoints)\nrequired to test it. This includes not only the primary endpoint being\ntested, but also ALL dependency endpoints needed for setup,\nauthentication, and data preparation. If even one required dependency API\nis missing from the available operations, the scenario cannot be\nimplemented and should not be generated.\n\nExample: A \"test banned user login\" scenario requires both a login API\nAND a ban user API. If the ban API doesn't exist, this scenario is not\nimplementable regardless of database schema fields.",
|
|
744
744
|
type: "array",
|
|
745
745
|
items: {
|
|
746
746
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IScenario"
|
|
@@ -763,7 +763,7 @@ const collection = {
|
|
|
763
763
|
pattern: "^\\/[a-zA-Z0-9\\/_{}.-]*$"
|
|
764
764
|
},
|
|
765
765
|
method: {
|
|
766
|
-
description: "HTTP method of the API operation.\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
766
|
+
description: "HTTP method of the API operation.\n\n**IMPORTANT**: Methods must be written in lowercase only (e.g., \"get\", not \"GET\").\n\nNote that, if the API operation has {@link requestBody}, method must not\nbe `get`.\n\nAlso, even though the API operation has been designed to only get\ninformation, but it needs complicated request information, it must be\ndefined as `patch` method with {@link requestBody} data specification.\n\n- `get`: get information\n- `patch`: get information with complicated request data\n ({@link requestBody})\n- `post`: create new record\n- `put`: update existing record\n- `delete`: remove record",
|
|
767
767
|
oneOf: [
|
|
768
768
|
{
|
|
769
769
|
"const": "get"
|
|
@@ -789,7 +789,7 @@ const collection = {
|
|
|
789
789
|
]
|
|
790
790
|
},
|
|
791
791
|
"IAutoBeTestScenarioApplication.IScenario": {
|
|
792
|
-
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.",
|
|
792
|
+
description: "Represents a test scenario for a single API operation.\n\nThis interface defines a structured, user-centric test draft that includes\na descriptive function name, a detailed scenario draft, and logical\ndependencies on other endpoints required for context or setup.\n\nCRITICAL: All referenced endpoints MUST exist in the provided API\noperations. Do NOT create scenarios for non-existent APIs, even if database\nschema fields suggest their existence. Test scenarios must be implementable\nwith available APIs only.",
|
|
793
793
|
type: "object",
|
|
794
794
|
properties: {
|
|
795
795
|
draft: {
|
|
@@ -802,7 +802,7 @@ const collection = {
|
|
|
802
802
|
pattern: "^[a-z][a-z0-9_]*$"
|
|
803
803
|
},
|
|
804
804
|
dependencies: {
|
|
805
|
-
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose
|
|
805
|
+
description: "A list of other API endpoints that this scenario logically depends on.\n\nThese dependencies represent context or prerequisite conditions, such as\nauthentication, resource creation, or data setup, that are relevant to\nthe test. This list is not a strict execution order \u2014 if ordering is\nimportant, it must be described explicitly in the `purpose`.\n\nWARNING: Every endpoint referenced here MUST exist in the provided API\noperations. Do NOT reference endpoints that are not explicitly available,\neven if they seem logically necessary based on database schema or\nbusiness logic.",
|
|
806
806
|
type: "array",
|
|
807
807
|
items: {
|
|
808
808
|
$ref: "#/$defs/IAutoBeTestScenarioApplication.IDependencies"
|
|
@@ -819,7 +819,7 @@ const collection = {
|
|
|
819
819
|
type: "object",
|
|
820
820
|
properties: {
|
|
821
821
|
endpoint: {
|
|
822
|
-
description: "Target API endpoint that this scenario depends on.",
|
|
822
|
+
description: "Target API endpoint that this scenario depends on.\n\nThis endpoint MUST exist in the available API operations list.\nNon-existent endpoints will cause test implementation failures.",
|
|
823
823
|
$ref: "#/$defs/AutoBeOpenApi.IEndpoint"
|
|
824
824
|
},
|
|
825
825
|
purpose: {
|
|
@@ -98,7 +98,7 @@ function process(ctx, props) {
|
|
|
98
98
|
};
|
|
99
99
|
const { tokenUsage } = yield ctx.conversate({
|
|
100
100
|
source: "testWrite",
|
|
101
|
-
histories: (0, transformTestWriteHistories_1.transformTestWriteHistories)(scenario, artifacts),
|
|
101
|
+
histories: yield (0, transformTestWriteHistories_1.transformTestWriteHistories)(ctx, scenario, artifacts),
|
|
102
102
|
controller: createController({
|
|
103
103
|
model: ctx.model,
|
|
104
104
|
artifacts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrateTestWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestWrite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,oDAoCC;;AAjDD,kDAA0B;AAC1B,+BAA0B;AAG1B,uEAAoE;AACpE,uEAAoE;AACpE,iEAA8D;AAC9D,iFAA8E;AAC9E,yFAAsF;AAKtF,SAAsB,oBAAoB,CACxC,GAAyB,EACzB,SAA+B;;QAE/B,MAAM,QAAQ,GAA4B;YACxC,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,SAAS,EAAE,CAAC;SACb,CAAC;QACF,MAAM,MAAM,GAAyC,MAAM,IAAA,uCAAkB;QAC3E;;;;WAIG;QACH,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAO,cAAc,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,MAAM,SAAS,GACb,MAAM,IAAA,mDAAwB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAyB,MAAM,OAAO,CAAC,GAAG,EAAE;oBACrD,QAAQ;oBACR,SAAS;oBACT,QAAQ;oBACR,cAAc;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;oBACL,QAAQ;oBACR,SAAS;oBACT,KAAK;iBACN,CAAC;YACJ,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAA,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1C,CAAC;CAAA;AAED,SAAe,OAAO,CACpB,GAAyB,EACzB,KAKC;;;QAED,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QAChE,MAAM,OAAO,GAAwD;YACnE,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;YAC1C,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAA,yDAA2B,EAAC,QAAQ,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrateTestWrite.js","sourceRoot":"","sources":["../../../../../src/orchestrate/test/orchestrateTestWrite.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,18 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
28
28
|
*
|
|
29
29
|
* Each scenario represents a specific test case for the same `path` and
|
|
30
30
|
* `method`.
|
|
31
|
+
*
|
|
32
|
+
* IMPORTANT: Each scenario must be actually implementable. A scenario's
|
|
33
|
+
* implementability is determined by the existence of ALL APIs (endpoints)
|
|
34
|
+
* required to test it. This includes not only the primary endpoint being
|
|
35
|
+
* tested, but also ALL dependency endpoints needed for setup,
|
|
36
|
+
* authentication, and data preparation. If even one required dependency API
|
|
37
|
+
* is missing from the available operations, the scenario cannot be
|
|
38
|
+
* implemented and should not be generated.
|
|
39
|
+
*
|
|
40
|
+
* Example: A "test banned user login" scenario requires both a login API
|
|
41
|
+
* AND a ban user API. If the ban API doesn't exist, this scenario is not
|
|
42
|
+
* implementable regardless of database schema fields.
|
|
31
43
|
*/
|
|
32
44
|
scenarios: IScenario[] & tags.MinItems<1>;
|
|
33
45
|
}
|
|
@@ -37,6 +49,11 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
37
49
|
* This interface defines a structured, user-centric test draft that includes
|
|
38
50
|
* a descriptive function name, a detailed scenario draft, and logical
|
|
39
51
|
* dependencies on other endpoints required for context or setup.
|
|
52
|
+
*
|
|
53
|
+
* CRITICAL: All referenced endpoints MUST exist in the provided API
|
|
54
|
+
* operations. Do NOT create scenarios for non-existent APIs, even if database
|
|
55
|
+
* schema fields suggest their existence. Test scenarios must be implementable
|
|
56
|
+
* with available APIs only.
|
|
40
57
|
*/
|
|
41
58
|
interface IScenario {
|
|
42
59
|
/**
|
|
@@ -113,11 +130,21 @@ export declare namespace IAutoBeTestScenarioApplication {
|
|
|
113
130
|
* authentication, resource creation, or data setup, that are relevant to
|
|
114
131
|
* the test. This list is not a strict execution order — if ordering is
|
|
115
132
|
* important, it must be described explicitly in the `purpose`.
|
|
133
|
+
*
|
|
134
|
+
* WARNING: Every endpoint referenced here MUST exist in the provided API
|
|
135
|
+
* operations. Do NOT reference endpoints that are not explicitly available,
|
|
136
|
+
* even if they seem logically necessary based on database schema or
|
|
137
|
+
* business logic.
|
|
116
138
|
*/
|
|
117
139
|
dependencies: IDependencies[];
|
|
118
140
|
}
|
|
119
141
|
interface IDependencies {
|
|
120
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Target API endpoint that this scenario depends on.
|
|
144
|
+
*
|
|
145
|
+
* This endpoint MUST exist in the available API operations list.
|
|
146
|
+
* Non-existent endpoints will cause test implementation failures.
|
|
147
|
+
*/
|
|
121
148
|
endpoint: AutoBeOpenApi.IEndpoint;
|
|
122
149
|
/**
|
|
123
150
|
* A concise explanation of why this API call is relevant or required for
|