File tree Expand file tree Collapse file tree 3 files changed +29
-2
lines changed
tests/test_model_controller Expand file tree Collapse file tree 3 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -41,9 +41,9 @@ class ModelPagination(PydanticModel):
4141 Model Controller Pagination Configuration
4242 """
4343
44- klass : t .Type [PaginationBase ] = PageNumberPaginationExtra
44+ klass : t .Optional [ t . Type [PaginationBase ] ] = PageNumberPaginationExtra
4545 paginator_kwargs : t .Optional [dict ] = None
46- pagination_schema : t .Type [PydanticModel ] = PaginatedResponseSchema
46+ pagination_schema : t .Optional [ t . Type [PydanticModel ] ] = PaginatedResponseSchema
4747 filter_schema : t .Optional [t .Type [FilterSchema ]] = None
4848
4949 @field_validator ("pagination_schema" , mode = "before" )
Original file line number Diff line number Diff line change @@ -65,6 +65,20 @@ class EventModelControllerDifferentPagination(ModelControllerBase):
6565 )
6666
6767
68+ @api_controller ("/event-case-5" )
69+ class EventModelControllerWithoutPagination (ModelControllerBase ):
70+ model_config = ModelConfig (
71+ allowed_routes = [
72+ "list" ,
73+ ],
74+ model = Event ,
75+ retrieve_schema = EventSchema ,
76+ pagination = ModelPagination (
77+ klass = None ,
78+ ),
79+ )
80+
81+
6882@api_controller ("/event-case-4" )
6983class EventModelControllerRetrieveAndList (ModelControllerBase ):
7084 model_config = ModelConfig (
Original file line number Diff line number Diff line change 55 EventModelControllerDifferentPagination ,
66 EventModelControllerRetrieveAndList ,
77 EventModelControllerWithDefinedSchema ,
8+ EventModelControllerWithoutPagination ,
89)
910
1011
12+ def test_event_model_open_api_schema_case_5 ():
13+ api = NinjaExtraAPI ()
14+ api .register_controllers (EventModelControllerWithoutPagination )
15+ schema = api .get_openapi_schema ()
16+
17+ assert "get" in schema ["paths" ]["/api/event-case-5/" ]
18+ assert schema ["paths" ]["/api/event-case-5/" ]["get" ]["parameters" ] == []
19+ assert list (schema ["components" ]["schemas" ].keys ()) == [
20+ "EventSchema" ,
21+ ]
22+
23+
1124def test_event_model_open_api_schema_case_3 ():
1225 api = NinjaExtraAPI ()
1326 api .register_controllers (EventModelControllerDifferentPagination )
You can’t perform that action at this time.
0 commit comments