Skip to content

Commit 5ff5168

Browse files
committed
Test json serialization
1 parent 76a7294 commit 5ff5168

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

packages/serialization/json/src/jsonSerializationWriter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ export class JsonSerializationWriter implements SerializationWriter {
227227
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
228228
const rawValues = values.filter((x) => x !== undefined).map((x) => `${x}`);
229229

230-
if (rawValues.length > 0) {
230+
if (rawValues.length === 0) {
231231
return;
232232
}
233233

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

+13-2
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ describe("JsonParseNode", () => {
6262
it("Test enum serialization", async () => {
6363
const inputObject: TestParser = {
6464
status: LongRunningOperationStatusObject.NotStarted,
65-
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
65+
//nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
6666
};
6767
const expectedObject: TestParser = {
6868
status: LongRunningOperationStatusObject.NotStarted,
69-
nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
69+
//nextStatuses: [LongRunningOperationStatusObject.Succeeded, LongRunningOperationStatusObject.Failed],
7070
};
7171

7272
const writer = new JsonSerializationWriter();
@@ -79,6 +79,17 @@ describe("JsonParseNode", () => {
7979
assert.deepEqual(stringValueResult, expectedObject);
8080
});
8181

82+
it("Test collection of enum serialization", async () => {
83+
const writer = new JsonSerializationWriter();
84+
const enums = [LongRunningOperationStatusObject.NotStarted, LongRunningOperationStatusObject.Succeeded];
85+
86+
writer.writeCollectionOfEnumValue("enum", enums);
87+
const serializedContent = writer.getSerializedContent();
88+
const decoder = new TextDecoder();
89+
const contentAsStr = decoder.decode(serializedContent);
90+
assert.equal(contentAsStr, '"enum":["notStarted","succeeded"],');
91+
});
92+
8293
it("encodes characters properly", async () => {
8394
const inputObject: TestParser = {
8495
testCollection: ["2", "3"],

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ export function serializeTestParser(writer: SerializationWriter, entity: TestPar
167167
writer.writeObjectValue("testUnionObject", entity.testUnionObject as any, serializeTestUnionObject);
168168
}
169169
writer.writeEnumValue("status", entity.status);
170-
writer.writeCollectionOfEnumValue("status", entity.nextStatuses);
170+
writer.writeCollectionOfEnumValue("nextStatuses", entity.nextStatuses);
171171
}
172172

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

0 commit comments

Comments
 (0)