mastodon/spec/system/media_spec.rb
2025-09-02 10:59:50 -04:00

52 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe 'Media' do
describe 'Player page' do
let(:status) { Fabricate :status }
before { status.media_attachments << media }
context 'when signed in' do
before { sign_in Fabricate(:user) }
context 'when media type is video' do
let(:media) { Fabricate :media_attachment, type: :video }
it 'visits the player page and renders media' do
visit medium_player_path(media)
expect(page)
.to have_css('body', class: 'player')
.and have_css('div[data-component="Video"] video[controls="controls"] source')
end
end
context 'when media type is gifv' do
let(:media) { Fabricate :media_attachment, type: :gifv }
it 'visits the player page and renders media' do
visit medium_player_path(media)
expect(page)
.to have_css('body', class: 'player')
.and have_css('div[data-component="MediaGallery"] video[loop="loop"] source')
end
end
context 'when media type is audio' do
let(:media) { Fabricate :media_attachment, type: :audio }
it 'visits the player page and renders media' do
visit medium_player_path(media)
expect(page)
.to have_css('body', class: 'player')
.and have_css('div[data-component="Audio"] audio source')
end
end
end
end
end