Sha256: fc5036da7f04b20f8424828840e2896a20dac9dbd89e4c00311a098c4417513a
Contents?: true
Size: 1.45 KB
Versions: 35
Compression:
Stored size: 1.45 KB
Contents
require "spec_helper" describe GraphQL::Analysis::MaxQueryComplexity do before do @prev_max_complexity = DummySchema.max_complexity end after do DummySchema.max_complexity = @prev_max_complexity end let(:result) { DummySchema.execute(query_string) } let(:query_string) {%| { a: cheese(id: 1) { id } b: cheese(id: 1) { id } c: cheese(id: 1) { id } d: cheese(id: 1) { id } e: cheese(id: 1) { id } } |} describe "when a query goes over max complexity" do before do DummySchema.max_complexity = 9 end it "returns an error" do assert_equal "Query has complexity of 10, which exceeds max complexity of 9", result["errors"][0]["message"] end end describe "when there is no max complexity" do before do DummySchema.max_complexity = nil end it "doesn't error" do assert_equal nil, result["errors"] end end describe "when the query is less than the max complexity" do before do DummySchema.max_complexity = 99 end it "doesn't error" do assert_equal nil, result["errors"] end end describe "when complexity is overriden at query-level" do before do DummySchema.max_complexity = 100 end let(:result) { DummySchema.execute(query_string, max_complexity: 7) } it "is applied" do assert_equal "Query has complexity of 10, which exceeds max complexity of 7", result["errors"][0]["message"] end end end
Version data entries
35 entries across 35 versions & 1 rubygems