require 'spec_helper' RSpec.describe 'AwesomePrint/NoBrainer', skip: ->{ !ExtVerifier.has_nobrainer? }.call do if ExtVerifier.has_nobrainer? before :all do NoBrainer.configure do |config| config.app_name = 'ap_test' config.environment = :test end end before :all do class SomeModel include NoBrainer::Document field :first_name, :type => String field :last_name, :type => String field :some_field end end after :all do Object.instance_eval{ remove_const :SomeModel } end end before do @ap = AwesomePrint::Inspector.new :plain => true end it 'should print class instance' do user = SomeModel.new :first_name => 'Al', :last_name => 'Capone' out = @ap.send :awesome, user object_id = user.id.inspect str = <<-EOS.strip # { :id => #{object_id}, :first_name => "Al", :last_name => "Capone" } EOS expect(out).to eq(str) end it 'should print the class' do class_spec = <<-EOS.strip class SomeModel < Object { :id => :string, :first_name => :string, :last_name => :string, :some_field => :object } EOS expect(@ap.send(:awesome, SomeModel)).to eq class_spec end end