# frozen_string_literal: true 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.delete('.')}", user: exercise.user ) 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[:native_file] = File.open(SeedsHelper.seed_file_path(path), 'r') else file_attributes[: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." } execution_environment { association :html, user: user } instructions { 'Build a simple website including an HTML