52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
FactoryBot.define do
|
|
factory :broadcast do
|
|
association :project
|
|
name "My Live Stream"
|
|
conference_option "zoom"
|
|
|
|
transient do
|
|
skip_create_callback false
|
|
end
|
|
|
|
trait :ms_teams_conference do
|
|
conference_option "ms_teams"
|
|
end
|
|
|
|
trait :with_stream do
|
|
stream_uid "mux_stream"
|
|
stream_key "mux_key"
|
|
stream_playback_uid "mux_playback_id"
|
|
full_live_stream_playback_uid "full_live_stream_playback_uid"
|
|
status "created"
|
|
streamer_status "idle"
|
|
end
|
|
|
|
trait :with_overriden_stream do
|
|
stream_uid "mux_stream"
|
|
stream_key "mux_key"
|
|
stream_playback_uid "mux_playback_id"
|
|
full_live_stream_playback_uid "full_live_stream_playback_uid"
|
|
status "created"
|
|
streamer_status "idle"
|
|
stream_url_override "overriden_stream_url"
|
|
stream_key_override "overriden_stream_key"
|
|
end
|
|
|
|
trait :with_files do
|
|
files do
|
|
[
|
|
Rack::Test::UploadedFile.new('spec/fixtures/files/contract.pdf', 'application/pdf'),
|
|
Rack::Test::UploadedFile.new('spec/fixtures/files/audio.mp3', 'audio/mpeg'),
|
|
Rack::Test::UploadedFile.new('spec/fixtures/files/video_file.mp4', 'video/mp4')
|
|
]
|
|
end
|
|
end
|
|
|
|
after(:build) do |broadcast, evaluator|
|
|
if evaluator.skip_create_callback
|
|
broadcast.class.skip_callback(:create, :after, :create_mux_live_stream, raise: false)
|
|
end
|
|
end
|
|
end
|
|
end
|