def test_get_spec(self): p = Filter(source='parent', form_field=forms.CharField()) f = Filter(source='child', form_field=forms.CharField()) f.parent = p assert f.get_spec(LookupConfig('key', 'value')) == FilterSpec(['child'], 'exact', 'value', False) assert f.get_spec(LookupConfig('key!', 'value')) == FilterSpec(['child'], 'exact', 'value', True) assert f.get_spec(LookupConfig( 'key', {'contains': 'value'})) == FilterSpec(['child'], 'contains', 'value', False) with pytest.raises(forms.ValidationError): assert f.get_spec(LookupConfig('key', {'foo': 'value'})) with pytest.raises(forms.ValidationError): assert f.get_spec( LookupConfig('key', { 'foo': 'value', 'happy': 'rainbows', }))
def test_properties(self): data = {"key": "value"} config = LookupConfig("foo", data) assert config.name == "key" assert config.value.data == "value" assert config.is_key_value()
def test_properties(self): data = { 'key': 'value', } config = LookupConfig('foo', data) assert config.name == 'key' assert config.value.data == 'value' assert config.is_key_value()
def test_as_dict(self): data = { 'one': { 'two': { 'three': 'value', } } } config = LookupConfig('key', data) assert config.as_dict() == data
def test_repr(self): data = { 'key': 'value', } config = LookupConfig('foo', data) assert repr(config) == ('<LookupConfig foo=>{}>'.format( repr({'key': 'value'})))
def test_get_spec(self): class Foo(CallableFilter): @form_field_for_filter(forms.CharField()) def filter_foo_for_django(self): pass p = Filter(source='parent', form_field=forms.CharField()) p.filter_backend = DjangoFilterBackend(queryset=[]) f = Foo(source='child', default_lookup='foo') f.parent = p assert f.get_spec(LookupConfig('key', 'value')) == FilterSpec( ['child'], 'foo', 'value', False, f.filter_foo_for_django)
def test_get_spec(self): class Foo(CallableFilter): @form_field_for_filter(forms.CharField()) def filter_foo_for_django(self): pass p = Filter(source="parent", form_field=forms.CharField()) p.filter_backend = DjangoFilterBackend(queryset=[]) f = Foo(source="child", default_lookup="foo") f.parent = p assert f.get_spec(LookupConfig("key", "value")) == FilterSpec( ["child"], "foo", "value", False, f.filter_foo_for_django )
def test_get_spec(self): p = Filter(source="parent", form_field=forms.CharField()) f = Filter(source="child", form_field=forms.CharField()) f.parent = p assert f.get_spec(LookupConfig("key", "value")) == FilterSpec( ["child"], "exact", "value", False ) assert f.get_spec(LookupConfig("key!", "value")) == FilterSpec( ["child"], "exact", "value", True ) assert f.get_spec(LookupConfig("key", {"contains": "value"})) == FilterSpec( ["child"], "contains", "value", False ) with pytest.raises(forms.ValidationError): assert f.get_spec(LookupConfig("key", {"foo": "value"})) with pytest.raises(forms.ValidationError): assert f.get_spec( LookupConfig("key", {"foo": "value", "happy": "rainbows"}) ) with pytest.raises(forms.ValidationError): f.no_lookup = True assert f.get_spec(LookupConfig("key", {"exact": "value"}))
def test_as_dict(self): data = {"one": {"two": {"three": "value"}}} config = LookupConfig("key", data) assert config.as_dict() == data
def test_repr(self): data = {"key": "value"} config = LookupConfig("foo", data) assert repr(config) == ("<LookupConfig foo=>{}>".format( repr({"key": "value"})))