Sha256: 80a1c55c76a19346639f0b63f4a3f11ae295a162d8e855e203cca1afddffabc0
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 KB
Contents
require 'rails_helper' require 'sorbet-rails/model_rbi_formatter' RSpec.describe SorbetRails::ModelRbiFormatter do before(:all) do SorbetRails::Utils.rails_eager_load_all! end it 'does not throw an error when given an abstract class' do formatter = SorbetRails::ModelRbiFormatter.new(Potion, Set.new(['Potion', 'Wizard'])) expect_match_file( formatter.generate_rbi, 'expected_potion.rbi', ) end it 'generates correct rbi file for Wizard' do class_set = Set.new(['Wizard', 'Wand', 'SpellBook', 'School']) if Object.const_defined?('ActiveStorage::Attachment') class_set << 'ActiveStorage::Attachment' end if Object.const_defined?('ActiveStorage::Blob') class_set << 'ActiveStorage::Blob' end formatter = SorbetRails::ModelRbiFormatter.new(Wizard, class_set) expect_match_file( formatter.generate_rbi, 'expected_wizard.rbi', ) end it 'generates strict belongs_to and generate overridden methods' do formatter = SorbetRails::ModelRbiFormatter.new(Wand, Set.new(['Wizard', 'Wand', 'SpellBook'])) expect_match_file( formatter.generate_rbi, 'expected_wand.rbi', ) end context 'there is a hidden model' do it 'fallbacks to use ActiveRecord::Relation' do class_set = Set.new(['Wizard', 'Wand']) if Object.const_defined?('ActiveStorage::Attachment') class_set << 'ActiveStorage::Attachment' end if Object.const_defined?('ActiveStorage::Blob') class_set << 'ActiveStorage::Blob' end formatter = SorbetRails::ModelRbiFormatter.new(Wizard, class_set) expect_match_file( formatter.generate_rbi, 'expected_wizard_wo_spellbook.rbi', ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sorbet-rails-0.6.0 | spec/model_rbi_formatter_spec.rb |
sorbet-rails-0.5.9.1 | spec/model_rbi_formatter_spec.rb |