def test_field_allow_none_false_apply_exists(): filter_obj = Mock(validated_data={"name": None}) field = Field(allow_none=False) field.__set_name__(None, "name") field._apply_filter = Mock() field.apply_filter(filter_obj) field._apply_filter.assert_not_called()
def test_field_allow_none_true_apply_exists(): filter_obj = Mock(validated_data={"name": None}) field = Field(allow_none=True) field.__set_name__(None, "name") field._apply_filter = Mock() field.apply_filter(filter_obj) field._apply_filter.assert_called_once_with(filter_obj, None)
def test_field_allow_none_apply_does_not_exist_in_data(allow_none): filter_obj = Mock(validated_data={}) field = Field(allow_none=allow_none) field.__set_name__(None, "name") field._apply_filter = Mock() field.apply_filter(filter_obj) field._apply_filter.assert_not_called()
def test_field_apply_with_default_lookup_operator(): field = Field() field.__set_name__(None, "first_name") parent_filter = Mock(validated_data={"first_name": "test"}, Meta=Mock(model=User)) field.post_init(parent_filter) assert compares_expressions(field.apply_filter(parent_filter), User.first_name == "test")
def test_resolve_fk_is_not_called(): field = Field() field.__set_name__(None, "name") field.resolve_fk = Mock() parent_filter = Mock() field.post_init(parent_filter) assert field.parent_filter is parent_filter assert field.resolve_fk.call_count == 0
def test_resolve_fk_is_called(): field = Field() field.__set_name__(None, "name") field.is_foreign_key = True field.resolve_fk = Mock() parent_filter = Mock() field.post_init(parent_filter) assert field.parent_filter is parent_filter assert field.resolve_fk.call_args_list == [call()]
def test_field_apply_does_not_exist_in_data(): field = Field() field.__set_name__(None, "name") assert field.apply_filter(Mock(validated_data={})).compare(empty_sql())
def test_set_column_with_custom_column_as_str(): field = Field(custom_column="my_column") field.__set_name__(None, "name") field._set_column() assert isinstance(field._column, column("a").__class__) assert str(field._column) == "my_column"
def test_set_column_with_custom_column(): mocked_column = Mock() field = Field(custom_column=mocked_column) field.__set_name__(None, "name") assert field._column is mocked_column
def test_set_column(): field = Field() mocked_column = Mock() field._column = mocked_column field.__set_name__(None, "name") assert field._column is mocked_column