Skip to content

Commit 60dc9c4

Browse files
authored
Merge pull request rspec#2364 from rspec/fixture-file-improvements
Fix fixture_file_upload for active record not present
2 parents 7f0c6c9 + b736c4b commit 60dc9c4

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

example_app_generator/generate_stuff.rb

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def setup_tasks
4545
def final_tasks
4646
copy_file 'spec/verify_no_active_record_spec.rb'
4747
copy_file 'spec/verify_no_fixture_setup_spec.rb'
48+
copy_file 'spec/verify_fixture_file_upload_spec.rb'
4849
end
4950

5051
def skip_active_record?
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
require 'rails_helper'
2+
3+
RSpec.describe 'Example App', :use_fixtures, type: :model do
4+
it 'supports fixture file upload' do
5+
file = fixture_file_upload(__FILE__)
6+
expect(file.read).to match(/RSpec\.describe 'Example App'/im)
7+
end
8+
end

lib/rspec/rails/fixture_file_upload_support.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ module FixtureFileUploadSupport
88

99
def rails_fixture_file_wrapper
1010
RailsFixtureFileWrapper.fixture_path = nil
11-
resolved_fixture_path = (fixture_path || RSpec.configuration.fixture_path || '').to_s
11+
resolved_fixture_path =
12+
if respond_to?(:fixture_path) && !fixture_path.nil?
13+
fixture_path.to_s
14+
else
15+
(RSpec.configuration.fixture_path || '').to_s
16+
end
1217
RailsFixtureFileWrapper.fixture_path = File.join(resolved_fixture_path, '') unless resolved_fixture_path.strip.empty?
1318
RailsFixtureFileWrapper.instance
1419
end

0 commit comments

Comments
 (0)