8
8
import { assert , describe , it , beforeEach } from "vitest" ;
9
9
10
10
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" ;
12
19
import { UntypedTestEntity , serializeUntypedTestEntity } from "./untypedTestEntiy" ;
13
20
import { BackingStore , BackingStoreFactorySingleton , createBackedModelProxyHandler , createUntypedArray , createUntypedBoolean , createUntypedNull , createUntypedNumber , createUntypedObject , createUntypedString } from "@microsoft/kiota-abstractions" ;
14
21
@@ -34,9 +41,7 @@ describe("JsonParseNode", () => {
34
41
} ,
35
42
} ,
36
43
} ,
37
- testDate,
38
- status : "succeeded" ,
39
- nextStatuses : [ "succeeded" , "failed" ] ,
44
+ testDate
40
45
} ;
41
46
const expectedObject : TestParser = {
42
47
testCollection : [ "2" , "3" ] ,
@@ -48,9 +53,7 @@ describe("JsonParseNode", () => {
48
53
someValue : 123 ,
49
54
} ,
50
55
} ,
51
- testDate,
52
- status : "succeeded" ,
53
- nextStatuses : [ "succeeded" , "failed" ] ,
56
+ testDate
54
57
} ;
55
58
56
59
const writer = new JsonSerializationWriter ( ) ;
@@ -63,6 +66,26 @@ describe("JsonParseNode", () => {
63
66
assert . deepEqual ( stringValueResult , expectedObject ) ;
64
67
} ) ;
65
68
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
+
66
89
it ( "encodes characters properly" , async ( ) => {
67
90
const inputObject : TestParser = {
68
91
testCollection : [ "2" , "3" ] ,
0 commit comments