Sha256: 1afd58bd0e7f6919624b2795c0c71e00109a95c4e0efa814db3319f15e5a1647

Contents?: true

Size: 1022 Bytes

Versions: 16

Compression:

Stored size: 1022 Bytes

Contents

# frozen_string_literal: true

RSpec.shared_context "graphql type" do
  let!(:current_organization) { create(:organization) }
  let!(:current_user) { create(:user, organization: current_organization) }
  let(:model) { OpenStruct.new({}) }

  let(:schema) do
    resolver = ->(_obj, _args, _ctx) { model }
    type_class = described_class

    query_type = GraphQL::ObjectType.define do
      name "FakeTestQuery"

      field :type, !type_class do
        resolve resolver
      end
    end

    GraphQL::Schema.define do
      query query_type
      resolve_type ->(obj, ctx) {}
    end
  end

  let(:response) do
    execute_query "{ type #{query}}"
  end

  def execute_query(query, variables = {})
    result = schema.execute(
      query,
      context: {
        current_organization: current_organization,
        current_user: current_user
      },
      variables: variables
    )

    raise Exception, result["errors"].map { |e| e["message"] }.join(", ") if result["errors"]
    result["data"]["type"]
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
decidim-api-0.4.3 lib/decidim/api/test/type_context.rb
decidim-api-0.4.2 lib/decidim/api/test/type_context.rb
decidim-api-0.4.1 lib/decidim/api/test/type_context.rb
decidim-0.4.3 decidim-api/lib/decidim/api/test/type_context.rb
decidim-0.4.2 decidim-api/lib/decidim/api/test/type_context.rb
decidim-0.4.1 decidim-api/lib/decidim/api/test/type_context.rb
decidim-api-0.4.0 lib/decidim/api/test/type_context.rb
decidim-0.4.0 decidim-api/lib/decidim/api/test/type_context.rb
decidim-api-0.3.2 lib/decidim/api/test/type_context.rb
decidim-0.3.2 decidim-api/lib/decidim/api/test/type_context.rb
decidim-api-0.3.1 lib/decidim/api/test/type_context.rb
decidim-0.3.1 decidim-api/lib/decidim/api/test/type_context.rb
decidim-api-0.3.0 lib/decidim/api/test/type_context.rb
decidim-0.3.0 decidim-api/lib/decidim/api/test/type_context.rb
decidim-api-0.2.0 lib/decidim/api/test/type_context.rb
decidim-0.2.0 decidim-api/lib/decidim/api/test/type_context.rb