@@ -25,13 +25,14 @@ def _complete(list_field):
2525 )
2626
2727 def accepts_a_set_as_a_list_value ():
28- # We need to use a dict instead of a set,
29- # since sets are not ordered in Python.
30- list_field = dict .fromkeys (["apple" , "banana" , "coconut" ])
31- assert _complete (list_field ) == (
32- {"listField" : ["apple" , "banana" , "coconut" ]},
33- None ,
34- )
28+ # Note that sets are not ordered in Python.
29+ list_field = {"apple" , "banana" , "coconut" }
30+ result = _complete (list_field )
31+ assert result .errors is None
32+ assert isinstance (result .data , dict )
33+ assert list (result .data ) == ["listField" ]
34+ assert isinstance (result .data ["listField" ], list )
35+ assert set (result .data ["listField" ]) == list_field
3536
3637 def accepts_a_generator_as_a_list_value ():
3738 def list_field ():
@@ -53,6 +54,19 @@ def get_args(*args):
5354 None ,
5455 )
5556
57+ def does_not_accept_a_dict_as_a_list_value ():
58+ assert _complete ({1 : "one" , 2 : "two" }) == (
59+ {"listField" : None },
60+ [
61+ {
62+ "message" : "Expected Iterable,"
63+ " but did not find one for field 'Query.listField'." ,
64+ "locations" : [(1 , 3 )],
65+ "path" : ["listField" ],
66+ }
67+ ],
68+ )
69+
5670 def does_not_accept_iterable_string_literal_as_a_list_value ():
5771 assert _complete ("Singular" ) == (
5872 {"listField" : None },
0 commit comments