@@ -429,4 +429,50 @@ function testPagination()
429429 $ this ->assertEquals (100 , $ query ->limit );
430430 $ this ->assertEquals (50 , $ query ->offset );
431431 }
432+
433+ function testPaginationIgnoreOffset (){
434+ $ uri = 'some_model ' ;
435+ $ controllerClass = MockModelController::class;
436+ $ query = new ParameterBag ([
437+ "offset " => "50 "
438+ ]);
439+ $ requestParserOptions = [
440+ 'model_namespaces ' => [
441+ 'LIQRGV\QueryFilter\Mocks ' ,
442+ ]
443+ ];
444+
445+ $ request = $ this ->createControllerRequest ($ uri , $ controllerClass , $ query , $ requestParserOptions );
446+
447+ $ requestParser = new RequestParser ($ request );
448+ $ builder = $ requestParser ->getBuilder ();
449+
450+ $ query = $ builder ->getQuery ();
451+ $ this ->assertEquals ("mock_models " , $ query ->from );
452+ $ this ->assertNull ($ query ->limit );
453+ $ this ->assertNull ($ query ->offset );
454+ }
455+
456+ function testPaginationUsingZeroAsDefaultOffset (){
457+ $ uri = 'some_model ' ;
458+ $ controllerClass = MockModelController::class;
459+ $ query = new ParameterBag ([
460+ "limit " => "50 "
461+ ]);
462+ $ requestParserOptions = [
463+ 'model_namespaces ' => [
464+ 'LIQRGV\QueryFilter\Mocks ' ,
465+ ]
466+ ];
467+
468+ $ request = $ this ->createControllerRequest ($ uri , $ controllerClass , $ query , $ requestParserOptions );
469+
470+ $ requestParser = new RequestParser ($ request );
471+ $ builder = $ requestParser ->getBuilder ();
472+
473+ $ query = $ builder ->getQuery ();
474+ $ this ->assertEquals ("mock_models " , $ query ->from );
475+ $ this ->assertEquals (50 , $ query ->limit );
476+ $ this ->assertEquals (0 , $ query ->offset );
477+ }
432478}
0 commit comments