UNPKG

12.5 kBPlain TextView Raw
1Feature: Simple Transformations
2
3Scenario: Array of objects mapping
4
5 When I transform the following json:
6 ------------------------------------
7 {
8 "publishers": {
9 "IDW Publishing": {
10 "books": {
11 "Transformers: Combiner Wars": {
12 "isbn-10": "1631403869"
13 }
14 }
15 }
16 }
17 }
18 ------------------------------------
19
20
21 Using the mapping:
22 ------------------------------------
23 [
24 {
25 "reader": {
26 "type": "jsonPointer",
27 "path": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10"
28 },
29 "transformer": {
30 "type": "passThrough"
31 },
32 "writer": {
33 "type": "jsonPointer",
34 "path": "/Transfomers: Combiner Wars"
35 }
36 }
37 ]
38 ------------------------------------
39
40
41 Then I should get:
42 ------------------------------------
43 {
44 "Transfomers: Combiner Wars": "1631403869"
45 }
46 ------------------------------------
47
48
49Scenario: Array of reader, transformer and writer pairs
50
51 When I transform the following json:
52 ------------------------------------
53 {
54 "publishers": {
55 "IDW Publishing": {
56 "books": {
57 "Transformers: Combiner Wars": {
58 "isbn-10": "1631403869"
59 }
60 }
61 }
62 }
63 }
64 ------------------------------------
65
66
67 Using the mapping:
68 ------------------------------------
69 [
70 {
71 "reader": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10",
72 "transformer": "passThrough",
73 "writer": "/Transfomers: Combiner Wars"
74 }
75 ]
76 ------------------------------------
77
78
79 Then I should get:
80 ------------------------------------
81 {
82 "Transfomers: Combiner Wars": "1631403869"
83 }
84 ------------------------------------
85
86
87Scenario: Array of objects mapping and default reader and transformer
88
89 When I transform the following json:
90 ------------------------------------
91 {
92 "publishers": {
93 "IDW Publishing": {
94 "books": {
95 "Transformers: Combiner Wars": {
96 "isbn-10": "1631403869"
97 }
98 }
99 }
100 }
101 }
102 ------------------------------------
103
104
105 Using the mapping:
106 ------------------------------------
107 [
108 {
109 "writer": {
110 "type": "jsonPointer",
111 "path": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10"
112 }
113 }
114 ]
115 ------------------------------------
116
117
118 Then I should get:
119 ------------------------------------
120 {
121 "publishers": {
122 "IDW Publishing": {
123 "books": {
124 "Transformers: Combiner Wars": {
125 "isbn-10": "1631403869"
126 }
127 }
128 }
129 }
130 }
131 ------------------------------------
132
133
134Scenario: Array of objects mapping with default writer and transformer
135
136 When I transform the following json:
137 ------------------------------------
138 {
139 "publishers": {
140 "IDW Publishing": {
141 "books": {
142 "Transformers: Combiner Wars": {
143 "isbn-10": "1631403869"
144 }
145 }
146 }
147 }
148 }
149 ------------------------------------
150
151
152 Using the mapping:
153 ------------------------------------
154 [
155 {
156 "reader": {
157 "type": "jsonPointer",
158 "path": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10"
159 }
160 }
161 ]
162 ------------------------------------
163
164
165 Then I should get:
166 ------------------------------------
167 {
168 "publishers": {
169 "IDW Publishing": {
170 "books": {
171 "Transformers: Combiner Wars": {
172 "isbn-10": "1631403869"
173 }
174 }
175 }
176 }
177 }
178 ------------------------------------
179
180
181Scenario: Array of reader paths mapping
182
183 When I transform the following json:
184 ------------------------------------
185 {
186 "publishers": {
187 "IDW Publishing": {
188 "books": {
189 "Transformers: Combiner Wars": {
190 "isbn-10": "1631403869"
191 }
192 }
193 }
194 }
195 }
196 ------------------------------------
197
198
199 Using the mapping:
200 ------------------------------------
201
202 [
203 "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10"
204 ]
205
206 ------------------------------------
207
208
209 Then I should get:
210 ------------------------------------
211 {
212 "publishers": {
213 "IDW Publishing": {
214 "books": {
215 "Transformers: Combiner Wars": {
216 "isbn-10": "1631403869"
217 }
218 }
219 }
220 }
221 }
222 ------------------------------------
223
224
225Scenario: Array of objects mapping with reader path => writer path
226
227 When I transform the following json:
228 ------------------------------------
229 {
230 "publishers": {
231 "IDW Publishing": {
232 "books": {
233 "Transformers: Combiner Wars": {
234 "isbn-10": "1631403869"
235 }
236 }
237 }
238 }
239 }
240 ------------------------------------
241
242
243 Using the mapping:
244 ------------------------------------
245
246 [
247 {
248 "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10": "/Transfomers: Combiner Wars"
249 }
250 ]
251
252 ------------------------------------
253
254
255 Then I should get:
256 ------------------------------------
257 {
258 "Transfomers: Combiner Wars": "1631403869"
259 }
260 ------------------------------------
261
262
263Scenario: Object mapping with reader path => transformer and writer objects
264
265 When I transform the following json:
266 ------------------------------------
267 {
268 "publishers": {
269 "IDW Publishing": {
270 "books": {
271 "Transformers: Combiner Wars": {
272 "isbn-10": "1631403869"
273 }
274 }
275 }
276 }
277 }
278 ------------------------------------
279
280
281 Using the mapping:
282 ------------------------------------
283
284 {
285 "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10": {
286 "transformer": {
287 "type": "passThrough"
288 },
289 "writer": {
290 "type": "jsonPointer",
291 "path": "/Transfomers: Combiner Wars"
292 }
293 }
294 }
295
296 ------------------------------------
297
298
299 Then I should get:
300 ------------------------------------
301 {
302 "Transfomers: Combiner Wars": "1631403869"
303 }
304 ------------------------------------
305
306
307Scenario: Object mapping with reader path => default transformer and writer
308
309 When I transform the following json:
310 ------------------------------------
311 {
312 "publishers": {
313 "IDW Publishing": {
314 "books": {
315 "Transformers: Combiner Wars": {
316 "isbn-10": "1631403869"
317 }
318 }
319 }
320 }
321 }
322 ------------------------------------
323
324
325 Using the mapping:
326 ------------------------------------
327
328 {
329 "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10": {}
330 }
331
332 ------------------------------------
333
334
335 Then I should get:
336 ------------------------------------
337 {
338 "publishers": {
339 "IDW Publishing": {
340 "books": {
341 "Transformers: Combiner Wars": {
342 "isbn-10": "1631403869"
343 }
344 }
345 }
346 }
347 }
348 ------------------------------------
349
350
351Scenario: Object mapping with reader path => writer path
352
353 When I transform the following json:
354 ------------------------------------
355 {
356 "publishers": {
357 "IDW Publishing": {
358 "books": {
359 "Transformers: Combiner Wars": {
360 "isbn-10": "1631403869"
361 }
362 }
363 }
364 }
365 }
366 ------------------------------------
367
368
369 Using the mapping:
370 ------------------------------------
371
372 {
373 "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-10": {}
374 }
375
376 ------------------------------------
377
378
379 Then I should get:
380 ------------------------------------
381 {
382 "publishers": {
383 "IDW Publishing": {
384 "books": {
385 "Transformers: Combiner Wars": {
386 "isbn-10": "1631403869"
387 }
388 }
389 }
390 }
391 }
392 ------------------------------------
393
394
395Scenario: Tollerates missing values
396
397 When I transform the following json:
398 ------------------------------------
399 {
400 "publishers": {
401 "IDW Publishing": {
402 "books": {
403 "Transformers: Combiner Wars": {
404 "isbn-10": "1631403869"
405 }
406 }
407 }
408 }
409 }
410 ------------------------------------
411
412
413 Using the mapping:
414 ------------------------------------
415 [
416 {
417 "reader": {
418 "type": "jsonPointer",
419 "path": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-11"
420 },
421 "writer": {
422 "type": "jsonPointer",
423 "path": "/Transfomers: Combiner Wars"
424 }
425 }
426 ]
427 ------------------------------------
428
429
430 Then I should get:
431 ------------------------------------
432 {
433 }
434 ------------------------------------
435
436
437Scenario: Optionally renders missing values
438
439 When I transform the following json:
440 ------------------------------------
441 {
442 "publishers": {
443 "IDW Publishing": {
444 "books": {
445 "Transformers: Combiner Wars": {
446 "isbn-10": "1631403869"
447 }
448 }
449 }
450 }
451 }
452 ------------------------------------
453
454
455 Using the mapping:
456 ------------------------------------
457 [
458 {
459 "reader": {
460 "type": "jsonPointer",
461 "path": "/publishers/IDW Publishing/books/Transformers: Combiner Wars/isbn-11"
462 },
463 "writer": {
464 "type": "jsonPointer",
465 "path": "/Transfomers: Combiner Wars",
466 "ignoreMissing": false
467 }
468 }
469 ]
470 ------------------------------------
471
472
473 Then I should get:
474 ------------------------------------
475 {
476 "Transfomers: Combiner Wars": undefined
477 }
478 ------------------------------------
479
480
481Scenario: Using property reader and writer
482
483 When I transform the following json:
484 ------------------------------------
485 {
486 "publishers": {
487 "IDW Publishing": {
488 "books": {
489 "Transformers: Combiner Wars": {
490 "isbn-10": "1631403869"
491 }
492 }
493 }
494 }
495 }
496 ------------------------------------
497
498
499 Using the mapping:
500 ------------------------------------
501 [
502 {
503 "reader": {
504 "type": "property",
505 "path": "publishers.IDW Publishing.books.Transformers: Combiner Wars.isbn-10"
506 },
507 "transformer": {
508 "type": "passThrough"
509 },
510 "writer": {
511 "type": "property",
512 "path": "Transfomers: Combiner Wars"
513 }
514 }
515 ]
516 ------------------------------------
517
518 Then I should get:
519 ------------------------------------
520 {
521 "Transfomers: Combiner Wars": "1631403869"
522 }
523 ------------------------------------
\No newline at end of file