def test_query_select_list_field_string_key_deserialization(self): query = lambda: [DummyModel(ch) for ch in 'abecde'] field = fields.QuerySelectList(query, 'foo') assert field.deserialize(['a', 'c', 'b']) == \ [DummyModel('a'), DummyModel('c'), DummyModel('b')] assert field.deserialize(['d', 'e', 'e']) == \ [DummyModel('d'), DummyModel('e'), DummyModel('e')] assert field.deserialize([]) == [] with pytest.raises(ValidationError): field.deserialize(['a', 'b', 'f']) with pytest.raises(ValidationError): field.deserialize(['a', 'b', 'b'])
def test_query_select_list_field_string_key(self, user): user.du1 = [DummyModel('a'), DummyModel('c'), DummyModel('b')] user.du2 = [DummyModel('d'), DummyModel('e'), DummyModel('e')] user.du3 = [DummyModel('a'), DummyModel('b'), DummyModel('f')] user.du4 = [DummyModel('a'), DummyModel('b'), DummyModel('b')] user.du5 = [] query = lambda: [DummyModel(ch) for ch in 'abecde'] field = fields.QuerySelectList(query, 'foo') assert field.serialize('du1', user) == ['a', 'c', 'b'] assert field.serialize('du2', user) == ['d', 'e', 'e'] assert field.serialize('du5', user) == [] with pytest.raises(ValidationError): field.serialize('du3', user) with pytest.raises(ValidationError): field.serialize('du4', user)