UNPKG

apollo-codegen-core

Version:
81 lines (61 loc) 2.17 kB
import { parseValue } from "graphql"; import { valueFromValueNode } from "../utilities/graphql"; describe("#valueFromValueNode", () => { test(`should return a number for an IntValue`, () => { const valueNode = parseValue("1"); const value = valueFromValueNode(valueNode); expect(value).toBe(1); }); test(`should return a number for a FloatValue`, () => { const valueNode = parseValue("1.0"); const value = valueFromValueNode(valueNode); expect(value).toBe(1.0); }); test(`should return a boolean for a BooleanValue`, () => { const valueNode = parseValue("true"); const value = valueFromValueNode(valueNode); expect(value).toBe(true); }); test(`should return null for a NullValue`, () => { const valueNode = parseValue("null"); const value = valueFromValueNode(valueNode); expect(value).toBe(null); }); test(`should return a string for a StringValue`, () => { const valueNode = parseValue('"foo"'); const value = valueFromValueNode(valueNode); expect(value).toBe("foo"); }); test(`should return a string for an EnumValue`, () => { const valueNode = parseValue("JEDI"); const value = valueFromValueNode(valueNode); expect(value).toBe("JEDI"); }); test(`should return an object for a Variable`, () => { const valueNode = parseValue("$something"); const value = valueFromValueNode(valueNode); expect(value).toEqual({ kind: "Variable", variableName: "something" }); }); test(`should return an array for a ListValue`, () => { const valueNode = parseValue('[ "foo", 1, JEDI, $something ]'); const value = valueFromValueNode(valueNode); expect(value).toEqual([ "foo", 1, "JEDI", { kind: "Variable", variableName: "something" }, ]); }); test(`should return an object for an ObjectValue`, () => { const valueNode = parseValue( '{ foo: "foo", bar: 1, bla: JEDI, baz: $something }' ); const value = valueFromValueNode(valueNode); expect(value).toEqual({ foo: "foo", bar: 1, bla: "JEDI", baz: { kind: "Variable", variableName: "something" }, }); }); });