Sha256: 57104bfa3e08a7c281ed417764cabc574e926ae97ca24c7fe9f82e26247efc7b

Contents?: true

Size: 1.41 KB

Versions: 5

Compression:

Stored size: 1.41 KB

Contents

module Pageflow
  FactoryBot.define do
    factory :video_file, :class => VideoFile do
      entry
      uploader { create(:user) }

      attachment_on_s3 File.open(Engine.root.join('spec', 'fixtures', 'video.mp4'))
      state 'encoded'

      transient do
        used_in nil
        with_configuration nil
      end

      before(:create) do |file, evaluator|
        file.entry = evaluator.used_in.entry if evaluator.used_in
      end

      after(:create) do |file, evaluator|
        if evaluator.used_in
          create(:file_usage,
                 file: file,
                 revision: evaluator.used_in,
                 configuration: evaluator.with_configuration)
        end
      end

      trait :on_filesystem do
        attachment_on_filesystem File.open(Engine.root.join('spec', 'fixtures', 'video.mp4'))
        attachment_on_s3 nil
        state 'not_uploaded_to_s3'
      end

      trait :uploading_to_s3_failed do
        attachment_on_filesystem File.open(Engine.root.join('spec', 'fixtures', 'video.mp4'))
        attachment_on_s3 nil
        state 'uploading_to_s3_failed'
      end

      trait :waiting_for_confirmation do
        state 'waiting_for_confirmation'
      end

      trait :encoding_failed do
        state 'encoding_failed'
      end

      trait :encoded do
      end

      trait :with_highdef_encoding do
        association :entry, :with_highdef_video_encoding
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pageflow-13.0.0.beta5 spec/factories/video_files.rb
pageflow-13.0.0.beta4 spec/factories/video_files.rb
pageflow-13.0.0.beta3 spec/factories/video_files.rb
pageflow-13.0.0.beta2 spec/factories/video_files.rb
pageflow-13.0.0.beta1 spec/factories/video_files.rb