Module: GraphitiSpecHelpers::RSpec

Defined in:
lib/graphiti_spec_helpers/rspec.rb

Class Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/graphiti_spec_helpers/rspec.rb', line 76

def self.included(klass)
  klass.send(:include, GraphitiSpecHelpers)

  ::RSpec.configure do |rspec|
    rspec.include_context "resource testing", type: :resource
  end
end

.schema!(resources = nil) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/graphiti_spec_helpers/rspec.rb', line 84

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