Sha256: 66fded543bcb33aed8bb6321a27a5ea9e5827ed3f0492eabb9c375be27b3cdb5
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
require 'spec_helper' describe GraphQL::ScalarType do let(:scalar) { GraphQL::ScalarType.define do name "BigInt" coerce_input ->(value) { Integer(value) } coerce_result ->(value) { value.to_s } end } let(:bignum) { 2 ** 128 } it 'coerces nil into nil' do assert_equal(nil, scalar.coerce_input(nil)) end it 'coerces input into objects' do assert_equal(bignum, scalar.coerce_input(bignum.to_s)) end it 'coerces result value for serialization' do assert_equal(bignum.to_s, scalar.coerce_result(bignum)) end describe 'validate_input with good input' do let(:result) { GraphQL::INT_TYPE.validate_input(150) } it 'returns a valid result' do assert(result.valid?) end end describe 'validate_input with bad input' do let(:result) { GraphQL::INT_TYPE.validate_input('bad num') } it 'returns an invalid result for bad input' do assert(!result.valid?) end it 'has one problem' do assert_equal(result.problems.length, 1) end it 'has the correct explanation' do assert(result.problems[0]['explanation'].include?('Could not coerce value')) end it 'has an empty path' do assert(result.problems[0]['path'].empty?) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.12.1 | spec/graphql/scalar_type_spec.rb |
graphql-0.12.0 | spec/graphql/scalar_type_spec.rb |
graphql-0.11.1 | spec/graphql/scalar_type_spec.rb |