Module: Graphiti::SpecHelpers::RSpec

Defined in:
lib/graphiti/spec_helpers/rspec.rb

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



118
119
120
121
122
123
124
125
# File 'lib/graphiti/spec_helpers/rspec.rb', line 118

def self.included(klass)
  klass.send(:include, Graphiti::SpecHelpers)

  ::RSpec.configure do |rspec|
    rspec.include_context "graphiti resource testing", type: :resource
    rspec.include Graphiti::SpecHelpers::Matchers, type: :resource
  end
end

.schema!(resources = nil) ⇒ Object



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# File 'lib/graphiti/spec_helpers/rspec.rb', line 127

def self.schema!(resources = nil)
  ::RSpec.describe "Graphiti Schema" do
    it "generates a backwards-compatible schema" do
      message = <<~MSG
        Found backwards-incompatibilities in schema! Run with FORCE_SCHEMA=true to ignore.

        Incompatibilities:

      MSG

      errors = Graphiti::Schema.generate!(resources)
      errors.each do |e|
        message << "#{e}\n"
      end

      expect(errors.empty?).to eq(true), message
    end
  end
end