@@ -294,3 +294,146 @@ Feature: Order filter on collections
294
294
}
295
295
}
296
296
"""
297
+
298
+ @dropSchema
299
+ @createSchema
300
+ Scenario : Get collection filtered by association date
301
+ Given there is "2" dummy objects with dummyDate and relatedDummy
302
+ When I send a "GET" request to "/dummies?relatedDummy.dummyDate[after]=2015-04-28"
303
+ Then the response status code should be 200
304
+ And the response should be in JSON
305
+ And the header "Content-Type" should be equal to "application/ld+json"
306
+ And the JSON should be equal to:
307
+ """
308
+ {
309
+ "@context": "/contexts/Dummy",
310
+ "@id": "/dummies?relatedDummy.dummyDate[after]=2015-04-28",
311
+ "@type": "hydra:PagedCollection",
312
+ "hydra:totalItems": 0,
313
+ "hydra:itemsPerPage": 3,
314
+ "hydra:firstPage": "/dummies?relatedDummy.dummyDate%5Bafter%5D=2015-04-28",
315
+ "hydra:lastPage": "/dummies?relatedDummy.dummyDate%5Bafter%5D=2015-04-28",
316
+ "hydra:member": [],
317
+ "hydra:search": {
318
+ "@type": "hydra:IriTemplate",
319
+ "hydra:template": "/dummies{?id,name,alias,description,relatedDummy.name,relatedDummies[],dummy,order[id],order[name],order[relatedDummy.symfony],dummyPrice[between],dummyPrice[gt],dummyPrice[gte],dummyPrice[lt],dummyPrice[lte],dummyDate[before],dummyDate[after],relatedDummy.dummyDate[before],relatedDummy.dummyDate[after]}",
320
+ "hydra:variableRepresentation": "BasicRepresentation",
321
+ "hydra:mapping": [
322
+ {
323
+ "@type": "IriTemplateMapping",
324
+ "variable": "id",
325
+ "property": "id",
326
+ "required": false
327
+ },
328
+ {
329
+ "@type": "IriTemplateMapping",
330
+ "variable": "name",
331
+ "property": "name",
332
+ "required": false
333
+ },
334
+ {
335
+ "@type": "IriTemplateMapping",
336
+ "variable": "alias",
337
+ "property": "alias",
338
+ "required": false
339
+ },
340
+ {
341
+ "@type": "IriTemplateMapping",
342
+ "variable": "description",
343
+ "property": "description",
344
+ "required": false
345
+ },
346
+ {
347
+ "@type": "IriTemplateMapping",
348
+ "variable": "relatedDummy.name",
349
+ "property": "relatedDummy.name",
350
+ "required": false
351
+ },
352
+ {
353
+ "@type": "IriTemplateMapping",
354
+ "variable": "relatedDummies[]",
355
+ "property": "relatedDummies",
356
+ "required": false
357
+ },
358
+ {
359
+ "@type": "IriTemplateMapping",
360
+ "variable": "dummy",
361
+ "property": "dummy",
362
+ "required": false
363
+ },
364
+ {
365
+ "@type": "IriTemplateMapping",
366
+ "variable": "order[id]",
367
+ "property": "id",
368
+ "required": false
369
+ },
370
+ {
371
+ "@type": "IriTemplateMapping",
372
+ "variable": "order[name]",
373
+ "property": "name",
374
+ "required": false
375
+ },
376
+ {
377
+ "@type": "IriTemplateMapping",
378
+ "variable": "order[relatedDummy.symfony]",
379
+ "property": "relatedDummy.symfony",
380
+ "required": false
381
+ },
382
+ {
383
+ "@type": "IriTemplateMapping",
384
+ "variable": "dummyPrice[between]",
385
+ "property": "dummyPrice",
386
+ "required": false
387
+ },
388
+ {
389
+ "@type": "IriTemplateMapping",
390
+ "variable": "dummyPrice[gt]",
391
+ "property": "dummyPrice",
392
+ "required": false
393
+ },
394
+ {
395
+ "@type": "IriTemplateMapping",
396
+ "variable": "dummyPrice[gte]",
397
+ "property": "dummyPrice",
398
+ "required": false
399
+ },
400
+ {
401
+ "@type": "IriTemplateMapping",
402
+ "variable": "dummyPrice[lt]",
403
+ "property": "dummyPrice",
404
+ "required": false
405
+ },
406
+ {
407
+ "@type": "IriTemplateMapping",
408
+ "variable": "dummyPrice[lte]",
409
+ "property": "dummyPrice",
410
+ "required": false
411
+ },
412
+ {
413
+ "@type": "IriTemplateMapping",
414
+ "variable": "dummyDate[before]",
415
+ "property": "dummyDate",
416
+ "required": false
417
+ },
418
+ {
419
+ "@type": "IriTemplateMapping",
420
+ "variable": "dummyDate[after]",
421
+ "property": "dummyDate",
422
+ "required": false
423
+ },
424
+ {
425
+ "@type": "IriTemplateMapping",
426
+ "variable": "relatedDummy.dummyDate[before]",
427
+ "property": "relatedDummy.dummyDate",
428
+ "required": false
429
+ },
430
+ {
431
+ "@type": "IriTemplateMapping",
432
+ "variable": "relatedDummy.dummyDate[after]",
433
+ "property": "relatedDummy.dummyDate",
434
+ "required": false
435
+ }
436
+ ]
437
+ }
438
+ }
439
+ """
0 commit comments