From 4f81ad249477ad25aea191b1987cddb4222e65ba Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 6 Sep 2024 12:46:25 -0400 Subject: [PATCH] Add coverage for `media#player`, move body class to view (#31790) --- app/controllers/media_controller.rb | 4 +--- app/views/media/player.html.haml | 2 ++ spec/system/media_spec.rb | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 spec/system/media_spec.rb diff --git a/app/controllers/media_controller.rb b/app/controllers/media_controller.rb index 53eee4001..9d10468e6 100644 --- a/app/controllers/media_controller.rb +++ b/app/controllers/media_controller.rb @@ -19,9 +19,7 @@ class MediaController < ApplicationController redirect_to @media_attachment.file.url(:original) end - def player - @body_classes = 'player' - end + def player; end private diff --git a/app/views/media/player.html.haml b/app/views/media/player.html.haml index df02cc411..6b6e56673 100644 --- a/app/views/media/player.html.haml +++ b/app/views/media/player.html.haml @@ -2,6 +2,8 @@ = render_initial_state = javascript_pack_tag 'public', crossorigin: 'anonymous' +- content_for :body_classes, 'player' + :ruby meta = @media_attachment.file.meta || {} diff --git a/spec/system/media_spec.rb b/spec/system/media_spec.rb new file mode 100644 index 000000000..d014c7e88 --- /dev/null +++ b/spec/system/media_spec.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Media' do + describe 'Player page' do + context 'when signed in' do + before { sign_in Fabricate(:user) } + + it 'visits the media player page and renders the media' do + status = Fabricate :status + media = Fabricate :media_attachment, type: :video + status.media_attachments << media + + visit medium_player_path(media) + + expect(page) + .to have_css('body', class: 'player') + .and have_css('div[data-component="Video"]') + end + end + end +end