File: null_context_spec.rb

package info (click to toggle)
ruby-graphql 2.5.19-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 13,868 kB
  • sloc: ruby: 80,420; ansic: 1,808; yacc: 845; javascript: 480; makefile: 6
file content (37 lines) | stat: -rw-r--r-- 875 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# frozen_string_literal: true
require "spec_helper"

describe GraphQL::Query::NullContext do
  let(:null_context) { GraphQL::Query::NullContext.instance }
  describe "#[]" do
    it "returns nil" do
      assert_nil(null_context[:foo])
    end
  end

  describe "#fetch" do
    it "returns the default value argument" do
      assert_equal(:default, null_context.fetch(:foo, :default))
    end

    it "returns the block result" do
      assert_equal(:default, null_context.fetch(:foo) { :default })
    end

    it "raises a KeyError when not passed a default value or a block" do
      assert_raises(KeyError) { null_context.fetch(:foo) }
    end
  end

  describe "#key?" do
    it "returns false" do
      assert(!null_context.key?(:foo))
    end
  end

  describe "#dig?" do
    it "returns nil" do
      assert_nil(null_context.dig(:foo, :bar, :baz))
    end
  end
end