Skip to content

Commit 2b4e2a7

Browse files
committed
fix serialization
1 parent 461003d commit 2b4e2a7

File tree

2 files changed

+32
-9
lines changed

2 files changed

+32
-9
lines changed

packages/serialization/json/test/common/jsonSerializationWriter.ts

+30-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,14 @@
88
import { assert, describe, it, beforeEach } from "vitest";
99

1010
import { JsonParseNode, JsonSerializationWriter } from "../../src/index";
11-
import { createTestBackedModelFromDiscriminatorValue, createTestParserFromDiscriminatorValue, serializeTestParser, TestBackedModel, type TestParser } from "./testEntity";
11+
import {
12+
createTestBackedModelFromDiscriminatorValue,
13+
createTestParserFromDiscriminatorValue,
14+
LongRunningOperationStatusObject,
15+
serializeTestParser,
16+
TestBackedModel,
17+
type TestParser
18+
} from "./testEntity";
1219
import { UntypedTestEntity, serializeUntypedTestEntity } from "./untypedTestEntiy";
1320
import { BackingStore, BackingStoreFactorySingleton, createBackedModelProxyHandler, createUntypedArray, createUntypedBoolean, createUntypedNull, createUntypedNumber, createUntypedObject, createUntypedString } from "@microsoft/kiota-abstractions";
1421

@@ -34,9 +41,7 @@ describe("JsonParseNode", () => {
3441
},
3542
},
3643
},
37-
testDate,
38-
status: "succeeded",
39-
nextStatuses: ["succeeded", "failed"],
44+
testDate
4045
};
4146
const expectedObject: TestParser = {
4247
testCollection: ["2", "3"],
@@ -48,9 +53,7 @@ describe("JsonParseNode", () => {
4853
someValue: 123,
4954
},
5055
},
51-
testDate,
52-
status: "succeeded",
53-
nextStatuses: ["succeeded", "failed"],
56+
testDate
5457
};
5558

5659
const writer = new JsonSerializationWriter();
@@ -63,6 +66,26 @@ describe("JsonParseNode", () => {
6366
assert.deepEqual(stringValueResult, expectedObject);
6467
});
6568

69+
it("Test enum serialization", async () => {
70+
const inputObject: TestParser = {
71+
status: LongRunningOperationStatusObject.NotStarted,
72+
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
73+
};
74+
const expectedObject: TestParser = {
75+
status: LongRunningOperationStatusObject.NotStarted,
76+
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
77+
};
78+
79+
const writer = new JsonSerializationWriter();
80+
writer.writeObjectValue("", inputObject, serializeTestParser);
81+
const serializedContent = writer.getSerializedContent();
82+
const decoder = new TextDecoder();
83+
const contentAsStr = decoder.decode(serializedContent);
84+
const result = JSON.parse(contentAsStr);
85+
const stringValueResult = new JsonParseNode(result).getObjectValue(createTestParserFromDiscriminatorValue) as TestParser;
86+
assert.deepEqual(stringValueResult, expectedObject);
87+
});
88+
6689
it("encodes characters properly", async () => {
6790
const inputObject: TestParser = {
6891
testCollection: ["2", "3"],

packages/serialization/text/test/common/textSerializationWriter.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ describe("TextSerializationWriter", () => {
99
textSerializationWriter.writeEnumValue("", ...statuses);
1010
const formContent = textSerializationWriter.getSerializedContent();
1111
const form = new TextDecoder().decode(formContent);
12-
const expectedString = "notStarted , running";
12+
const expectedString = "notStarted, running";
1313
assert.equal(form, expectedString);
1414
});
1515
it("writeCollectionOfEnumValue", () => {
1616
const textSerializationWriter = new TextSerializationWriter();
1717
const statuses = [LongRunningOperationStatusObject.NotStarted, LongRunningOperationStatusObject.Running];
18-
textSerializationWriter.writeCollectionOfEnumValue(undefined, statuses);
18+
textSerializationWriter.writeCollectionOfEnumValue("", statuses);
1919
const formContent = textSerializationWriter.getSerializedContent();
2020
const form = new TextDecoder().decode(formContent);
2121
const expectedString = "notStarted running";

0 commit comments

Comments
 (0)