require 'seeds_helper' def create_seed_file(exercise, path, file_attributes = {}) file_extension = File.extname(path) file_type = FactoryBot.create(file_attributes[:file_type] || :"dot_#{file_extension.gsub('.', '')}") name = File.basename(path).gsub(file_extension, '') file_attributes.merge!(file_type: file_type, name: name, path: path.split('/')[1..-2].join('/'), role: file_attributes[:role] || 'regular_file') if file_type.binary? file_attributes.merge!(native_file: File.open(SeedsHelper.seed_file_path(path), 'r')) else file_attributes.merge!(content: SeedsHelper.read_seed_file(path)) end exercise.add_file!(file_attributes) end FactoryBot.define do factory :audio_video, class: 'Exercise' do created_by_teacher description { "Try HTML's audio and video capabilities." } association :execution_environment, factory: :html instructions { 'Build a simple website including an HTML