@@ -80,93 +80,71 @@ public function testSerializeModelData()
80
80
]
81
81
]
82
82
], $ 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 ));
98
83
}
99
84
100
85
public function testExpand ()
101
86
{
102
87
$ serializer = new Serializer ();
103
- $ serializedModel = [
88
+ $ compoundModel = $ includedModel = [
104
89
'id ' => '123 ' ,
105
90
'type ' => 'resource-models ' ,
106
91
'attributes ' => [
107
92
'field1 ' => 'test ' ,
108
93
'field2 ' => 2 ,
109
94
],
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 ' ],
117
110
]
118
- ],
119
- 'links ' => [
120
- 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
121
111
]
122
112
];
113
+ $ compoundModel ['links ' ] = $ includedModel ['links ' ] = [
114
+ 'self ' => ['href ' => 'http://example.com/resource/123 ' ]
115
+ ];
123
116
$ model = new ResourceModel ();
124
117
ResourceModel::$ fields = ['field1 ' , 'field2 ' ];
125
118
ResourceModel::$ extraFields = ['extraField1 ' ];
126
119
$ model ->extraField1 = new ResourceModel ();
127
- $ this ->assertSame ([
128
- 'data ' => $ serializedModel
129
- ], $ serializer ->serialize ($ model ));
130
120
131
121
\Yii::$ app ->request ->setQueryParams (['include ' => 'extraField1 ' ]);
132
122
$ this ->assertSame ([
133
- 'data ' => $ serializedModel ,
123
+ 'data ' => $ compoundModel ,
134
124
'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
146
126
]
147
127
], $ serializer ->serialize ($ model ));
148
128
149
129
\Yii::$ app ->request ->setQueryParams (['include ' => 'extraField1,extraField2 ' ]);
150
130
$ this ->assertSame ([
151
- 'data ' => $ serializedModel ,
131
+ 'data ' => $ compoundModel ,
152
132
'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
164
134
]
165
135
], $ serializer ->serialize ($ model ));
166
136
167
137
\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
+ ];
168
146
$ this ->assertSame ([
169
- 'data ' => $ serializedModel
147
+ 'data ' => $ compoundModel
170
148
], $ serializer ->serialize ($ model ));
171
149
}
172
150
@@ -179,7 +157,6 @@ public function dataProviderSerializeDataProvider()
179
157
'attributes ' => ['username ' => 'Bob ' ],
180
158
'links ' => ['self ' => ['href ' => 'http://example.com/resource/123 ' ]],
181
159
'relationships ' => ['extraField1 ' => [
182
- 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
183
160
'links ' => [
184
161
'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
185
162
'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ]
@@ -193,7 +170,6 @@ public function dataProviderSerializeDataProvider()
193
170
'attributes ' => ['username ' => 'Tom ' ],
194
171
'links ' => ['self ' => ['href ' => 'http://example.com/resource/123 ' ]],
195
172
'relationships ' => ['extraField1 ' => [
196
- 'data ' => ['id ' => '123 ' , 'type ' => 'resource-models ' ],
197
173
'links ' => [
198
174
'related ' => ['href ' => 'http://example.com/resource/123/extraField1 ' ],
199
175
'self ' => ['href ' => 'http://example.com/resource/123/relationships/extraField1 ' ]
0 commit comments