From f99a3e99e27f7473167cb864e9d046abb6f21488 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Jul 2026 03:25:02 +0000 Subject: [PATCH 1/5] Initial plan From 73a6249152be049b9e9f08d5394999d93dc905a5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Jul 2026 03:32:29 +0000 Subject: [PATCH 2/5] test: add extensible enum api version spector case Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- .../specs/type/enum/extensible/main.tsp | 58 +++++++++++++++++++ .../specs/type/enum/extensible/mockapi.ts | 18 ++++++ 2 files changed, 76 insertions(+) diff --git a/packages/http-specs/specs/type/enum/extensible/main.tsp b/packages/http-specs/specs/type/enum/extensible/main.tsp index 51c3d6fb971..ed3558d448c 100644 --- a/packages/http-specs/specs/type/enum/extensible/main.tsp +++ b/packages/http-specs/specs/type/enum/extensible/main.tsp @@ -33,6 +33,17 @@ union DaysOfWeekExtensibleEnum { Sunday: "Sunday", } +@doc("Service API versions") +union ApiVersionExtensibleEnum { + string, + + @doc("Version 2020-01-01.") + `2020-01-01`: "2020-01-01", + + @doc("Version 2021-01-01.") + `2021-01-01`: "2021-01-01", +} + @route("/string") interface String { @scenario @@ -79,3 +90,50 @@ interface String { @body body: DaysOfWeekExtensibleEnum, ): void; } + +@route("/api-version") +interface ApiVersion { + @scenario + @scenarioDoc("Expect to handle a known value. Mock api will return '2020-01-01'") + @get + @route("/known-value") + getKnownValue(): { + @header + contentType: "application/json"; + + @body body: ApiVersionExtensibleEnum; + }; + + @scenario + @scenarioDoc("Expect to handle an unknown value. Mock api will return '2022-01-01'") + @get + @route("/unknown-value") + getUnknownValue(): { + @header + contentType: "application/json"; + + @body body: ApiVersionExtensibleEnum; + }; + + @scenario + @scenarioDoc("Expect to send a known value. Mock api expect to receive '2020-01-01'") + @put + @route("/known-value") + putKnownValue( + @header + contentType: "application/json", + + @body body: ApiVersionExtensibleEnum, + ): void; + + @scenario + @scenarioDoc("Expect to handle an unknown value. Mock api expect to receive '2022-01-01'") + @put + @route("/unknown-value") + putUnknownValue( + @header + contentType: "application/json", + + @body body: ApiVersionExtensibleEnum, + ): void; +} diff --git a/packages/http-specs/specs/type/enum/extensible/mockapi.ts b/packages/http-specs/specs/type/enum/extensible/mockapi.ts index 1d7acd47722..44e41d9a4b1 100644 --- a/packages/http-specs/specs/type/enum/extensible/mockapi.ts +++ b/packages/http-specs/specs/type/enum/extensible/mockapi.ts @@ -46,3 +46,21 @@ Scenarios.Type_Enum_Extensible_String_getUnknownValue = Type_Enum_Extensible_String_UnKnown_Value.get; Scenarios.Type_Enum_Extensible_String_putUnknownValue = Type_Enum_Extensible_String_UnKnown_Value.put; + +const Type_Enum_Extensible_ApiVersion_Known_Value = createMockServerTests( + `/type/enum/extensible/api-version/known-value`, + "2020-01-01", +); +Scenarios.Type_Enum_Extensible_ApiVersion_getKnownValue = + Type_Enum_Extensible_ApiVersion_Known_Value.get; +Scenarios.Type_Enum_Extensible_ApiVersion_putKnownValue = + Type_Enum_Extensible_ApiVersion_Known_Value.put; + +const Type_Enum_Extensible_ApiVersion_UnKnown_Value = createMockServerTests( + `/type/enum/extensible/api-version/unknown-value`, + "2022-01-01", +); +Scenarios.Type_Enum_Extensible_ApiVersion_getUnknownValue = + Type_Enum_Extensible_ApiVersion_UnKnown_Value.get; +Scenarios.Type_Enum_Extensible_ApiVersion_putUnknownValue = + Type_Enum_Extensible_ApiVersion_UnKnown_Value.put; From 493af49c1096783aff39fdbafecef552af47006b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Jul 2026 03:33:37 +0000 Subject: [PATCH 3/5] test: refine extensible enum spector naming Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- .../http-specs/specs/type/enum/extensible/main.tsp | 4 ++-- .../http-specs/specs/type/enum/extensible/mockapi.ts | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/http-specs/specs/type/enum/extensible/main.tsp b/packages/http-specs/specs/type/enum/extensible/main.tsp index ed3558d448c..b7f653776ef 100644 --- a/packages/http-specs/specs/type/enum/extensible/main.tsp +++ b/packages/http-specs/specs/type/enum/extensible/main.tsp @@ -116,7 +116,7 @@ interface ApiVersion { }; @scenario - @scenarioDoc("Expect to send a known value. Mock api expect to receive '2020-01-01'") + @scenarioDoc("Expect to send a known value. Mock api expects to receive '2020-01-01'") @put @route("/known-value") putKnownValue( @@ -127,7 +127,7 @@ interface ApiVersion { ): void; @scenario - @scenarioDoc("Expect to handle an unknown value. Mock api expect to receive '2022-01-01'") + @scenarioDoc("Expect to handle an unknown value. Mock api expects to receive '2022-01-01'") @put @route("/unknown-value") putUnknownValue( diff --git a/packages/http-specs/specs/type/enum/extensible/mockapi.ts b/packages/http-specs/specs/type/enum/extensible/mockapi.ts index 44e41d9a4b1..7beb8da868e 100644 --- a/packages/http-specs/specs/type/enum/extensible/mockapi.ts +++ b/packages/http-specs/specs/type/enum/extensible/mockapi.ts @@ -47,20 +47,20 @@ Scenarios.Type_Enum_Extensible_String_getUnknownValue = Scenarios.Type_Enum_Extensible_String_putUnknownValue = Type_Enum_Extensible_String_UnKnown_Value.put; -const Type_Enum_Extensible_ApiVersion_Known_Value = createMockServerTests( +const Type_Enum_Extensible_ApiVersion_KnownValue = createMockServerTests( `/type/enum/extensible/api-version/known-value`, "2020-01-01", ); Scenarios.Type_Enum_Extensible_ApiVersion_getKnownValue = - Type_Enum_Extensible_ApiVersion_Known_Value.get; + Type_Enum_Extensible_ApiVersion_KnownValue.get; Scenarios.Type_Enum_Extensible_ApiVersion_putKnownValue = - Type_Enum_Extensible_ApiVersion_Known_Value.put; + Type_Enum_Extensible_ApiVersion_KnownValue.put; -const Type_Enum_Extensible_ApiVersion_UnKnown_Value = createMockServerTests( +const Type_Enum_Extensible_ApiVersion_UnknownValue = createMockServerTests( `/type/enum/extensible/api-version/unknown-value`, "2022-01-01", ); Scenarios.Type_Enum_Extensible_ApiVersion_getUnknownValue = - Type_Enum_Extensible_ApiVersion_UnKnown_Value.get; + Type_Enum_Extensible_ApiVersion_UnknownValue.get; Scenarios.Type_Enum_Extensible_ApiVersion_putUnknownValue = - Type_Enum_Extensible_ApiVersion_UnKnown_Value.put; + Type_Enum_Extensible_ApiVersion_UnknownValue.put; From 5b6df6feb1415b46d0425ccb973b66734e0ad55d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Jul 2026 03:34:21 +0000 Subject: [PATCH 4/5] test: clarify api version put scenario doc Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- packages/http-specs/specs/type/enum/extensible/main.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/http-specs/specs/type/enum/extensible/main.tsp b/packages/http-specs/specs/type/enum/extensible/main.tsp index b7f653776ef..ae5359b143d 100644 --- a/packages/http-specs/specs/type/enum/extensible/main.tsp +++ b/packages/http-specs/specs/type/enum/extensible/main.tsp @@ -127,7 +127,7 @@ interface ApiVersion { ): void; @scenario - @scenarioDoc("Expect to handle an unknown value. Mock api expects to receive '2022-01-01'") + @scenarioDoc("Expect to send an unknown value. Mock api expects to receive '2022-01-01'") @put @route("/unknown-value") putUnknownValue( From 94d19fe1efb9704cae3592fafc87bf0bb18d775d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Jul 2026 03:35:08 +0000 Subject: [PATCH 5/5] test: normalize api version scenario docs Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com> --- packages/http-specs/specs/type/enum/extensible/main.tsp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/http-specs/specs/type/enum/extensible/main.tsp b/packages/http-specs/specs/type/enum/extensible/main.tsp index ae5359b143d..5d8e03bb5df 100644 --- a/packages/http-specs/specs/type/enum/extensible/main.tsp +++ b/packages/http-specs/specs/type/enum/extensible/main.tsp @@ -94,7 +94,7 @@ interface String { @route("/api-version") interface ApiVersion { @scenario - @scenarioDoc("Expect to handle a known value. Mock api will return '2020-01-01'") + @scenarioDoc("Expect to handle a known value. Mock API will return '2020-01-01'") @get @route("/known-value") getKnownValue(): { @@ -105,7 +105,7 @@ interface ApiVersion { }; @scenario - @scenarioDoc("Expect to handle an unknown value. Mock api will return '2022-01-01'") + @scenarioDoc("Expect to handle an unknown value. Mock API will return '2022-01-01'") @get @route("/unknown-value") getUnknownValue(): { @@ -116,7 +116,7 @@ interface ApiVersion { }; @scenario - @scenarioDoc("Expect to send a known value. Mock api expects to receive '2020-01-01'") + @scenarioDoc("Expect to send a known value. Mock API expects to receive '2020-01-01'") @put @route("/known-value") putKnownValue( @@ -127,7 +127,7 @@ interface ApiVersion { ): void; @scenario - @scenarioDoc("Expect to send an unknown value. Mock api expects to receive '2022-01-01'") + @scenarioDoc("Expect to send an unknown value. Mock API expects to receive '2022-01-01'") @put @route("/unknown-value") putUnknownValue(