Sha256: 1cd3330a9bc76e40523ab8165fb9a972018292b45b986eabde19bb4e7dfa8358

Contents?: true

Size: 1.53 KB

Versions: 6

Compression:

Stored size: 1.53 KB

Contents

require 'config'

class GraphQLTest < GraphQL::TestCase
  DESCRIBED_CLASS = Rails::GraphQL

  def test_type_map
    DESCRIBED_CLASS.stub_cvar(:@@type_map, 1) do
      assert_equal(1, DESCRIBED_CLASS.type_map)
    end

    assert_instance_of(Rails::GraphQL::TypeMap, DESCRIBED_CLASS.type_map)
  end

  def test_ar_adapter_key
    DESCRIBED_CLASS.stub(:config, double(ar_adapters: { 'a' => 1 })) do
      assert_equal(1, DESCRIBED_CLASS.ar_adapter_key('a'))
      assert_nil(DESCRIBED_CLASS.ar_adapter_key('b'))
    end
  end

  def test_enable_ar_adapter
    DESCRIBED_CLASS.stub_cvar(:@@loaded_adapters, Set[1]) do
      DESCRIBED_CLASS.enable_ar_adapter(1)
      pass 'Accepted any value set on loaded_adapters'
    end

    value = DESCRIBED_CLASS.get_reset_cvar(:@@loaded_adapters) do
      DESCRIBED_CLASS.enable_ar_adapter('PostgreSQL')
    end

    assert_includes(value, 'PostgreSQL')
  end

  def test_reload_ar_adapters_bang
    result = []
    DESCRIBED_CLASS.stub(:enable_ar_adapter, ->(x) { result << x }) do
      DESCRIBED_CLASS.stub_cvar(:@@loaded_adapters, Set[]) do
        DESCRIBED_CLASS.reload_ar_adapters!
        assert_empty(result)
      end

      DESCRIBED_CLASS.stub_cvar(:@@loaded_adapters, Set[1]) do
        DESCRIBED_CLASS.reload_ar_adapters!
        assert_equal([1], result)
      end
    end
  end

  def test_to_gql
    DESCRIBED_CLASS.stub_const(:ToGQL, double(compile: passallthrough)) do
      assert_equal([1], DESCRIBED_CLASS.to_gql(1))
      assert_equal([1, { a: 1 }], DESCRIBED_CLASS.to_gql(1, a: 1))
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails-graphql-0.2.1 test/graphql_test.rb
rails-graphql-0.2.0 test/graphql_test.rb
rails-graphql-0.1.3 test/graphql_test.rb
rails-graphql-0.1.2 test/graphql_test.rb
rails-graphql-0.1.1 test/graphql_test.rb
rails-graphql-0.1.0 test/graphql_test.rb