FactoryBot.define do factory :trace do sequence(:name) { |n| "Trace #{n}.gpx" } sequence(:description) { |n| "This is trace #{n}" } user timestamp { Time.now } inserted { true } size { 10 } trait :deleted do visible { false } end transient do fixture { nil } end after(:create) do |trace, evaluator| if evaluator.fixture FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gpx"), File.join(Settings.gpx_trace_dir, "#{trace.id}.gpx")) FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gif"), File.join(Settings.gpx_image_dir, "#{trace.id}.gif")) FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}_icon.gif"), File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif")) end end end end