Sha256: 8d4e2e7b053895ef8f9fce83dead13f94a96af3bcb9207a8331c487880f64bb2
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
require 'spec_helper' describe GraphQL::InputObjectType do let(:input_object) { DairyProductInputType } it 'has a description' do assert(input_object.description) end it 'has input fields' do assert(DairyProductInputType.input_fields["fatContent"]) end describe "input validation" do it "Accepts anything that yields key-value pairs to #all?" do values_obj = MinimumInputObject.new assert DairyProductInputType.valid_non_null_input?(values_obj) end end describe "when sent into a query" do let(:variables) { {} } let(:result) { DummySchema.execute(query_string, variables: variables) } describe "list inputs" do let(:variables) { {"search" => [MinimumInputObject.new]} } let(:query_string) {%| query getCheeses($search: [DairyProductInput]!){ sheep: searchDairy(product: [{source: SHEEP, fatContent: 0.1}]) { ... cheeseFields } cow: searchDairy(product: $search) { ... cheeseFields } } fragment cheeseFields on Cheese { flavor } |} it "converts items to plain values" do sheep_value = result["data"]["sheep"]["flavor"] cow_value = result["data"]["cow"]["flavor"] assert_equal("Manchego", sheep_value) assert_equal("Brie", cow_value) end end describe "scalar inputs" do let(:query_string) {%| { cheese(id: 1.4) { flavor } } |} it "converts them to the correct type" do cheese_name = result["data"]["cheese"]["flavor"] assert_equal("Brie", cheese_name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.11.0 | spec/graphql/input_object_type_spec.rb |