Skip to content

Commit 76a7294

Browse files
committedJan 31, 2025
Fix tests
1 parent 2b4e2a7 commit 76a7294

File tree

4 files changed

+31
-36
lines changed

4 files changed

+31
-36
lines changed
 

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

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

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

@@ -41,7 +34,7 @@ describe("JsonParseNode", () => {
4134
},
4235
},
4336
},
44-
testDate
37+
testDate,
4538
};
4639
const expectedObject: TestParser = {
4740
testCollection: ["2", "3"],
@@ -53,7 +46,7 @@ describe("JsonParseNode", () => {
5346
someValue: 123,
5447
},
5548
},
56-
testDate
49+
testDate,
5750
};
5851

5952
const writer = new JsonSerializationWriter();
@@ -66,25 +59,25 @@ describe("JsonParseNode", () => {
6659
assert.deepEqual(stringValueResult, expectedObject);
6760
});
6861

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-
};
62+
it("Test enum serialization", async () => {
63+
const inputObject: TestParser = {
64+
status: LongRunningOperationStatusObject.NotStarted,
65+
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
66+
};
67+
const expectedObject: TestParser = {
68+
status: LongRunningOperationStatusObject.NotStarted,
69+
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
70+
};
7871

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-
});
72+
const writer = new JsonSerializationWriter();
73+
writer.writeObjectValue("", inputObject, serializeTestParser);
74+
const serializedContent = writer.getSerializedContent();
75+
const decoder = new TextDecoder();
76+
const contentAsStr = decoder.decode(serializedContent);
77+
const result = JSON.parse(contentAsStr);
78+
const stringValueResult = new JsonParseNode(result).getObjectValue(createTestParserFromDiscriminatorValue) as TestParser;
79+
assert.deepEqual(stringValueResult, expectedObject);
80+
});
8881

8982
it("encodes characters properly", async () => {
9083
const inputObject: TestParser = {

‎packages/serialization/json/test/common/testEntity.ts

+8
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ export function deserializeTestParser(testParser: TestParser | undefined = {}):
101101
testUnionObject: (n) => {
102102
testParser.testUnionObject = n.getStringValue() ?? n.getNumberValue() ?? n.getObjectValue(createTestUnionObjectFromDiscriminatorValue);
103103
},
104+
status: (n) => {
105+
testParser.status = n.getEnumValue<LongRunningOperationStatus>(LongRunningOperationStatusObject);
106+
},
107+
nextStatuses: (n) => {
108+
testParser.nextStatuses = n.getCollectionOfEnumValues<LongRunningOperationStatus>(LongRunningOperationStatusObject);
109+
},
104110
};
105111
}
106112

@@ -160,6 +166,8 @@ export function serializeTestParser(writer: SerializationWriter, entity: TestPar
160166
} else {
161167
writer.writeObjectValue("testUnionObject", entity.testUnionObject as any, serializeTestUnionObject);
162168
}
169+
writer.writeEnumValue("status", entity.status);
170+
writer.writeCollectionOfEnumValue("status", entity.nextStatuses);
163171
}
164172

165173
export function serializeFoo(writer: SerializationWriter, entity: FooResponse | undefined = {}): void {

‎packages/serialization/text/src/textSerializationWriter.ts

+1-7
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,7 @@ export class TextSerializationWriter implements SerializationWriter {
134134
}
135135
};
136136
public writeCollectionOfEnumValue = <T>(key?: string, values?: T[] | null): void => {
137-
if (values && values.length > 0) {
138-
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
139-
const rawValues = values.filter((x) => x !== undefined).map((x) => `${x}`);
140-
if (rawValues.length > 0) {
141-
rawValues.forEach((value) => this.writeStringValue(key, value));
142-
}
143-
}
137+
this.writeEnumValue(key, values);
144138
};
145139
public getSerializedContent = (): ArrayBuffer => {
146140
return this.convertStringToArrayBuffer(this.writer.join(``));

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ describe("TextSerializationWriter", () => {
1818
textSerializationWriter.writeCollectionOfEnumValue("", statuses);
1919
const formContent = textSerializationWriter.getSerializedContent();
2020
const form = new TextDecoder().decode(formContent);
21-
const expectedString = "notStarted running";
21+
const expectedString = "notStarted,running";
2222
assert.equal(form, expectedString);
2323
});
2424
});

0 commit comments

Comments
 (0)