@@ -22,79 +22,100 @@ import Amplify
22
22
class AmplifySerializedModelUnitTests : XCTestCase {
23
23
24
24
let serializedModelMaps : [ String : Any ] = try ! readJsonMap ( filePath: " serialized_model_maps " )
25
+ let flutterModelRegistration = SchemaData . flutterModelRegistration
25
26
26
- func test_blog_hasMany_serialization( ) throws {
27
- let ourMap = FlutterSerializedModelData . BlogSerializedModel. toMap ( modelSchema : SchemaData . BlogSchema) ;
28
- let refMap = serializedModelMaps [ " BlogSerializedMap " ] as! [ String : Any ] ;
27
+ func test_blog_hasMany_serialization( ) throws {
28
+ let ourMap = try FlutterSerializedModelData . BlogSerializedModel. toMap ( flutterModelRegistration : flutterModelRegistration , modelName : SchemaData . BlogSchema. name )
29
+ let refMap = serializedModelMaps [ " BlogSerializedMap " ] as! [ String : Any ]
29
30
30
- XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String ) ;
31
- XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String ) ;
31
+ XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String )
32
+ XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String )
32
33
33
- let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ] ;
34
- let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ] ;
34
+ let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ]
35
+ let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ]
35
36
36
- XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String ) ;
37
- XCTAssertEqual ( ourSd [ " name " ] as! String , refSd [ " name " ] as! String ) ;
37
+ XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String )
38
+ XCTAssertEqual ( ourSd [ " name " ] as! String , refSd [ " name " ] as! String )
38
39
}
39
40
40
41
func test_comment_belongs_serialization( ) throws {
41
- let ourMap = FlutterSerializedModelData . CommentSerializedModel. toMap ( modelSchema : SchemaData . CommentSchema) ;
42
- let refMap = serializedModelMaps [ " CommentSerializedMap " ] as! [ String : Any ] ;
42
+ let ourMap = try FlutterSerializedModelData . CommentSerializedModel. toMap ( flutterModelRegistration : flutterModelRegistration , modelName : SchemaData . CommentSchema. name )
43
+ let refMap = serializedModelMaps [ " CommentSerializedMap " ] as! [ String : Any ]
43
44
44
- XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String ) ;
45
- XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String ) ;
45
+ XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String )
46
+ XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String )
46
47
47
- let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ] ;
48
- let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ] ;
48
+ let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ]
49
+ let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ]
49
50
50
- XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String ) ;
51
- XCTAssertEqual ( ourSd [ " content " ] as! String , refSd [ " content " ] as! String ) ;
51
+ XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String )
52
+ XCTAssertEqual ( ourSd [ " content " ] as! String , refSd [ " content " ] as! String )
52
53
53
- let ourNs : [ String : Any ] = ourSd [ " post " ] as! [ String : Any ] ;
54
- let refNs : [ String : Any ] = refSd [ " post " ] as! [ String : Any ] ;
54
+ let ourNs : [ String : Any ] = ourSd [ " post " ] as! [ String : Any ]
55
+ let refNs : [ String : Any ] = refSd [ " post " ] as! [ String : Any ]
55
56
56
- XCTAssertEqual ( ourNs [ " id " ] as! String , refNs [ " id " ] as! String ) ;
57
- }
57
+ XCTAssertEqual ( ourNs [ " id " ] as! String , refNs [ " id " ] as! String )
58
+ }
58
59
59
- func test_post_with_datetime_int_hasMany__serialization ( ) throws {
60
- let ourMap = FlutterSerializedModelData . PostSerializedModel. toMap ( modelSchema : SchemaData . PostSchema) ;
61
- let refMap = serializedModelMaps [ " PostSerializedMap " ] as! [ String : Any ] ;
60
+ func test_post_with_datetime_int_hasMany_serialization ( ) throws {
61
+ let ourMap = try FlutterSerializedModelData . PostSerializedModel. toMap ( flutterModelRegistration : flutterModelRegistration , modelName : SchemaData . PostSchema. name )
62
+ let refMap = serializedModelMaps [ " PostSerializedMap " ] as! [ String : Any ]
62
63
63
- XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String ) ;
64
- XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String ) ;
64
+ XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String )
65
+ XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String )
65
66
66
- let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ] ;
67
- let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ] ;
67
+ let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ]
68
+ let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ]
68
69
69
- XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String ) ;
70
- XCTAssertEqual ( ourSd [ " title " ] as! String , refSd [ " title " ] as! String ) ;
71
- XCTAssertEqual ( ourSd [ " created " ] as! String , refSd [ " created " ] as! String ) ;
70
+ XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String )
71
+ XCTAssertEqual ( ourSd [ " title " ] as! String , refSd [ " title " ] as! String )
72
+ XCTAssertEqual ( ourSd [ " created " ] as! String , refSd [ " created " ] as! String )
72
73
73
- let ourNs : [ String : Any ] = ourSd [ " blog " ] as! [ String : Any ] ;
74
- let refNs : [ String : Any ] = refSd [ " blog " ] as! [ String : Any ] ;
74
+ let ourNs : [ String : Any ] = ourSd [ " blog " ] as! [ String : Any ]
75
+ let refNs : [ String : Any ] = refSd [ " blog " ] as! [ String : Any ]
75
76
76
- XCTAssertEqual ( ourNs [ " id " ] as! String , refNs [ " id " ] as! String ) ;
77
- }
77
+ XCTAssertEqual ( ourNs [ " id " ] as! String , refNs [ " id " ] as! String )
78
+ }
79
+
80
+ func test_post_with_nested_models_serialization( ) throws {
81
+ let serializedData = try ( FlutterSerializedModelData . PostSerializedModel. toMap ( flutterModelRegistration: flutterModelRegistration, modelName: SchemaData . PostSchema. name) ) [ " serializedData " ] as! [ String : Any ]
82
+ let expectedData = ( serializedModelMaps [ " PostSerializedMap " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : Any ]
83
+ let serializedBlog = ( serializedData [ " blog " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : String ]
84
+ let expectedBlog = ( expectedData [ " blog " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : String ]
85
+
86
+ XCTAssertEqual ( serializedBlog, expectedBlog)
87
+
88
+ let serializedAuthor = ( serializedData [ " author " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : Any ]
89
+ let expectedAuthor = ( expectedData [ " author " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : Any ]
90
+
91
+ XCTAssertEqual ( serializedAuthor [ " id " ] as! String , expectedAuthor [ " id " ] as! String )
92
+ XCTAssertEqual ( serializedAuthor [ " name " ] as! String , expectedAuthor [ " name " ] as! String )
93
+
94
+ let serializedDepartment = ( serializedAuthor [ " department " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : String ]
95
+ let expectedDepartment = ( expectedAuthor [ " department " ] as! [ String : Any ] ) [ " serializedData " ] as! [ String : String ]
96
+
97
+ XCTAssertEqual ( serializedDepartment, expectedDepartment)
98
+ }
78
99
79
100
80
101
func test_allTypeModel_serialization( ) throws {
81
- let ourMap = FlutterSerializedModelData . AllTypeModelSerializedModel. toMap ( modelSchema : SchemaData . AllTypeModelSchema) ;
82
- let refMap = serializedModelMaps [ " AllTypeModelSerializedMap " ] as! [ String : Any ] ;
102
+ let ourMap = try FlutterSerializedModelData . AllTypeModelSerializedModel. toMap ( flutterModelRegistration : flutterModelRegistration , modelName : SchemaData . AllTypeModelSchema. name )
103
+ let refMap = serializedModelMaps [ " AllTypeModelSerializedMap " ] as! [ String : Any ]
83
104
84
- XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String ) ;
85
- XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String ) ;
105
+ XCTAssertEqual ( ourMap [ " id " ] as! String , refMap [ " id " ] as! String )
106
+ XCTAssertEqual ( ourMap [ " modelName " ] as! String , refMap [ " modelName " ] as! String )
86
107
87
- let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ] ;
88
- let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ] ;
108
+ let ourSd : [ String : Any ] = ourMap [ " serializedData " ] as! [ String : Any ]
109
+ let refSd : [ String : Any ] = refMap [ " serializedData " ] as! [ String : Any ]
89
110
90
- XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String ) ;
91
- XCTAssertEqual ( ourSd [ " stringType " ] as! String , refSd [ " stringType " ] as! String ) ;
92
- XCTAssertEqual ( ourSd [ " intType " ] as! NSNumber , refSd [ " intType " ] as! NSNumber ) ;
93
- XCTAssertEqual ( ourSd [ " floatType " ] as! NSNumber , refSd [ " floatType " ] as! NSNumber ) ;
94
- XCTAssertEqual ( ourSd [ " boolType " ] as! Bool , refSd [ " boolType " ] as! Bool ) ;
95
- XCTAssertEqual ( ourSd [ " dateType " ] as! String , refSd [ " dateType " ] as! String ) ;
96
- XCTAssertEqual ( ourSd [ " dateTimeType " ] as! String , refSd [ " dateTimeType " ] as! String ) ;
97
- XCTAssertEqual ( ourSd [ " timeType " ] as! String , refSd [ " timeType " ] as! String ) ;
98
- XCTAssertEqual ( ourSd [ " enumType " ] as! String , refSd [ " enumType " ] as! String ) ;
111
+ XCTAssertEqual ( ourSd [ " id " ] as! String , refSd [ " id " ] as! String )
112
+ XCTAssertEqual ( ourSd [ " stringType " ] as! String , refSd [ " stringType " ] as! String )
113
+ XCTAssertEqual ( ourSd [ " intType " ] as! NSNumber , refSd [ " intType " ] as! NSNumber )
114
+ XCTAssertEqual ( ourSd [ " floatType " ] as! NSNumber , refSd [ " floatType " ] as! NSNumber )
115
+ XCTAssertEqual ( ourSd [ " boolType " ] as! Bool , refSd [ " boolType " ] as! Bool )
116
+ XCTAssertEqual ( ourSd [ " dateType " ] as! String , refSd [ " dateType " ] as! String )
117
+ XCTAssertEqual ( ourSd [ " dateTimeType " ] as! String , refSd [ " dateTimeType " ] as! String )
118
+ XCTAssertEqual ( ourSd [ " timeType " ] as! String , refSd [ " timeType " ] as! String )
119
+ XCTAssertEqual ( ourSd [ " enumType " ] as! String , refSd [ " enumType " ] as! String )
99
120
}
100
121
}
0 commit comments