pry--pry-rails/spec/show_model_spec.rb

56 lines
1.3 KiB
Ruby

# encoding: UTF-8
require 'spec_helper'
describe "show-model" do
it "should print one ActiveRecord model" do
output = mock_pry('show-model Beer', 'exit-all')
expected = <<MODEL
Beer
id: integer
name: string
type: string
rating: integer
ibu: integer
abv: integer
belongs_to :hacker
MODEL
output.must_equal expected
end
if defined? Mongoid
it "should print one Mongoid model" do
output = mock_pry('show-model Artist', 'exit-all')
expected = <<MODEL
Artist
_id: BSON::ObjectId
name: String
embeds_one :beer (validate)
embeds_many :instruments (validate)
MODEL
output.gsub!(/^ *_type: String\n/, '') # mongoid 3.0 and 3.1 differ on this
output.gsub!(/Moped::BSON/, 'BSON') # mongoid 3 and 4 differ on this
output.must_equal expected
end
end
it "should print an error if the model doesn't exist" do
output = mock_pry('show-model FloojBulb', 'exit-all')
output.must_equal "Couldn't find model FloojBulb!\n"
end
it "should print an error if it doesn't know what to do with the model" do
output = mock_pry('show-model PryRails', 'exit-all')
output.must_equal "Don't know how to show PryRails!\n"
end
it "should print help if no model name is given" do
output = mock_pry('show-model', 'exit-all')
output.must_match(/Usage: show-model/)
end
end