def test_namespace(self): field = quiz.Field("dog", selection_set=(_.name.color("hooman").owner)) result = quiz.types.load_field( Dog, field, {"name": "Fred", "color": "BROWN", "hooman": None} ) assert isinstance(result, Dog) assert result == Dog(name="Fred", color=Color.BROWN, hooman=None)
def test_query(self, schema): query = schema.query[_.license(key='MIT')] assert query == quiz.Query(cls=schema.Query, selections=quiz.SelectionSet( quiz.Field('license', {'key': 'MIT'}), )) with pytest.raises(quiz.SelectionError): schema.query[_.foo]
def test_namespace(self): field = quiz.Field('dog', selection_set=(_.name.color('hooman').owner)) result = quiz.types.load_field(Dog, field, { 'name': u'Fred', 'color': u'BROWN', 'hooman': None }) assert isinstance(result, Dog) assert result == Dog(name=u'Fred', color=Color.BROWN, hooman=None)
def test_query(self, schema): query = schema.query[_.license(key="MIT")] assert query == quiz.Query( cls=schema.Query, selections=quiz.SelectionSet(quiz.Field("license", {"key": "MIT"})), ) with pytest.raises(quiz.SelectionError): schema.query[_.foo]
def test_primitive_type(self): result = quiz.types.load_field(int, quiz.Field('age'), 4) assert result == 4
def test_enum(self): result = quiz.types.load_field(Color, quiz.Field('data'), 'BROWN') assert result is Color.BROWN
def test_list(self, value, expect): field = quiz.Field('foo', selection_set=_.name) result = quiz.types.load_field(quiz.List[quiz.Nullable[Hobby]], field, value) assert result == expect
def test_nullable(self, value, expect): result = quiz.types.load_field(quiz.Nullable[Color], quiz.Field('color'), value) assert result is expect
def test_generic_scalar(self, value): result = quiz.types.load_field(quiz.GenericScalar, quiz.Field('data'), value) assert type(result) == type(value) # noqa assert result == value
def test_custom_scalar(self): result = quiz.types.load_field(MyDateTime, quiz.Field('foo'), 12345) assert isinstance(result, MyDateTime) assert result.dtime == datetime.fromtimestamp(12345)
def test_enum(self): result = quiz.types.load_field(Color, quiz.Field("data"), "BROWN") assert result is Color.BROWN