@@ -80,93 +80,71 @@ public function testSerializeModelData()
8080 ]
8181 ]
8282 ], $ serializer ->serialize ($ model ));
83-
84- ResourceModel::$ fields = ['field1 ' ];
85- ResourceModel::$ extraFields = ['field2 ' ];
86- $ this ->assertSame ([
87- 'data ' => [
88- 'id ' => '123 ' ,
89- 'type ' => 'resource-models ' ,
90- 'attributes ' => [
91- 'field1 ' => 'test ' ,
92- ],
93- 'links ' => [
94- 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
95- ]
96- ]
97- ], $ serializer ->serialize ($ model ));
9883 }
9984
10085 public function testExpand ()
10186 {
10287 $ serializer = new Serializer ();
103- $ serializedModel = [
88+ $ compoundModel = $ includedModel = [
10489 'id ' => '123 ' ,
10590 'type ' => 'resource-models ' ,
10691 'attributes ' => [
10792 'field1 ' => 'test ' ,
10893 'field2 ' => 2 ,
10994 ],
110- 'relationships ' => [
111- 'extraField1 ' => [
112- 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
113- 'links ' => [
114- 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ],
115- 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
116- ]
95+ ];
96+ $ includedModel ['relationships ' ] = [
97+ 'extraField1 ' => [
98+ 'links ' => [
99+ 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ],
100+ 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
101+ ]
102+ ]
103+ ];
104+ $ compoundModel ['relationships ' ] = [
105+ 'extraField1 ' => [
106+ 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
107+ 'links ' => [
108+ 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ],
109+ 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
117110 ]
118- ],
119- 'links ' => [
120- 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
121111 ]
122112 ];
113+ $ compoundModel ['links ' ] = $ includedModel ['links ' ] = [
114+ 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
115+ ];
123116 $ model = new ResourceModel ();
124117 ResourceModel::$ fields = ['field1 ' , 'field2 ' ];
125118 ResourceModel::$ extraFields = ['extraField1 ' ];
126119 $ model ->extraField1 = new ResourceModel ();
127- $ this ->assertSame ([
128- 'data ' => $ serializedModel
129- ], $ serializer ->serialize ($ model ));
130120
131121 \Yii::$ app ->request ->setQueryParams (['include ' => 'extraField1 ' ]);
132122 $ this ->assertSame ([
133- 'data ' => $ serializedModel ,
123+ 'data ' => $ compoundModel ,
134124 'included ' => [
135- [
136- 'id ' => '123 ' ,
137- 'type ' => 'resource-models ' ,
138- 'attributes ' => [
139- 'field1 ' => 'test ' ,
140- 'field2 ' => 2 ,
141- ],
142- 'links ' => [
143- 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
144- ]
145- ]
125+ $ includedModel
146126 ]
147127 ], $ serializer ->serialize ($ model ));
148128
149129 \Yii::$ app ->request ->setQueryParams (['include ' => 'extraField1,extraField2 ' ]);
150130 $ this ->assertSame ([
151- 'data ' => $ serializedModel ,
131+ 'data ' => $ compoundModel ,
152132 'included ' => [
153- [
154- 'id ' => '123 ' ,
155- 'type ' => 'resource-models ' ,
156- 'attributes ' => [
157- 'field1 ' => 'test ' ,
158- 'field2 ' => 2 ,
159- ],
160- 'links ' => [
161- 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
162- ]
163- ]
133+ $ includedModel
164134 ]
165135 ], $ serializer ->serialize ($ model ));
166136
167137 \Yii::$ app ->request ->setQueryParams (['include ' => 'field1,extraField2 ' ]);
138+ $ compoundModel ['relationships ' ] = [
139+ 'extraField1 ' => [
140+ 'links ' => [
141+ 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ],
142+ 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
143+ ]
144+ ]
145+ ];
168146 $ this ->assertSame ([
169- 'data ' => $ serializedModel
147+ 'data ' => $ compoundModel
170148 ], $ serializer ->serialize ($ model ));
171149 }
172150
@@ -179,7 +157,6 @@ public function dataProviderSerializeDataProvider()
179157 'attributes ' => ['username ' => 'Bob ' ],
180158 'links ' => ['self ' => ['href ' => 'http://example.com/resource/123 ' ]],
181159 'relationships ' => ['extraField1 ' => [
182- 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
183160 'links ' => [
184161 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
185162 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ]
@@ -193,7 +170,6 @@ public function dataProviderSerializeDataProvider()
193170 'attributes ' => ['username ' => 'Tom ' ],
194171 'links ' => ['self ' => ['href ' => 'http://example.com/resource/123 ' ]],
195172 'relationships ' => ['extraField1 ' => [
196- 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
197173 'links ' => [
198174 'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
199175 'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ]
0 commit comments