def test_inheriting_fields(self): class ExampleFiltersSchema(filters_schema.FilterSchema): title = filters_schema.FilterField() class ExampleFiltersSchemaDerived(ExampleFiltersSchema): content = filters_schema.FilterField() assert ExampleFiltersSchemaDerived.base_filters == { 'title': filters_schema.FilterField(), 'content': filters_schema.FilterField(), }
class ExampleListView(resources.ResourceList): schema = example_schema filter_schema = filters_schema.FilterSchema({ 'basic': filters_schema.FilterField(), 'listed': filters_schema.ListFilterField(), 'renamed': filters_schema.FilterField(field_name='dumb-name'), 'integer': filters_schema.FilterField(parse_value=int), 'skipped_filter': filters_schema.FilterField(), }) applied_filters = [] def read_many(self, filters): self.applied_filters.append(filters) return []
def test_creation_using_schema(self): class ExampleSchema(marshmallow_jsonapi.Schema): id = fields.UUID(required=True) body = fields.Str() is_active = fields.Boolean(attribute='active') class Meta: type_ = 'example' class ExampleFiltersSchema(filters_schema.FilterSchema): class Meta: schema = ExampleSchema fields = ['id', 'body', 'is_active'] assert ExampleFiltersSchema.base_filters == { 'id': filters_schema.FilterField(attribute='id', type_=fields.UUID), 'body': filters_schema.FilterField(attribute='body'), 'is_active': filters_schema.FilterField(attribute='active', type_=fields.Boolean), }
class ExampleFiltersSchema(filters_schema.FilterSchema): basic = filters_schema.FilterField() listed = filters_schema.ListFilterField() dumb_name = filters_schema.FilterField(attribute='renamed') integer = filters_schema.FilterField(type_=fields.Int) skipped_filter = filters_schema.FilterField()
class ExampleFiltersSchema(filters_schema.FilterSchema): identifier = filters_schema.FilterField(type_=fields.UUID)
class ExampleFiltersSchema(filters_schema.FilterSchema): valid = filters_schema.FilterField()
class ExampleFiltersSchemaDerived(ExampleFiltersSchema): content = filters_schema.FilterField()
class ExampleFiltersSchema(filters_schema.FilterSchema): title = filters_schema.FilterField()
class SecondFiltersSchema(filters_schema.FilterSchema): attribute = filters_schema.FilterField() other_relationship = filters_schema.RelationshipFilterField( FirstFiltersSchema, attribute='renamed_relationship')
class FirstFiltersSchema(filters_schema.FilterSchema): id = filters_schema.FilterField()
class ExampleFiltersSchema(filters_schema.FilterSchema): basic = filters_schema.FilterField( operators=[filters_schema.Operators.NE])
class ExampleFiltersSchema(filters_schema.FilterSchema): basic = filters_schema.FilterField(default_operator='like')