require "rails_helper" RSpec.describe AudioReportsController, type: :controller do let(:user) { create(:user) } let(:video) { create(:video, project: create(:project, account: user.primary_account)) } before :each do sign_in user end describe "show" do context "when type is big" do it "builds the report and responds successfully" do get :show, params: { video_id: video, format: "xlsx", type: "big" } expect(response).to be_successful expect(response.body.unpack("C*").pack("U*")).to_not be_blank expect(response.header["Content-Type"]).to eq "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" expect(response.header["Content-Disposition"]).to match "video_file-mp4_big-cue-sheet.xlsx" end end context "when type is discovery music" do it "builds the report and responds successfully" do get :show, params: { video_id: video, format: "xlsx", type: "discovery" } expect(response).to be_successful expect(response.body.unpack("C*").pack("U*")).to_not be_blank expect(response.header["Content-Type"]).to eq "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" expect(response.header["Content-Disposition"]).to match "discovery-cue-sheet.xlsx" end end context "when type is nat geo music" do it "builds the report and responds successfully" do get :show, params: { video_id: video, format: "xlsx", type: "nat_geo" } expect(response).to be_successful expect(response.body.unpack("C*").pack("U*")).to_not be_blank expect(response.header["Content-Type"]).to eq "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" expect(response.header["Content-Disposition"]).to match "music-cue-sheet.xlsx" end end context "when type is nat geo original music" do it "builds the report and responds successfully" do get :show, params: { video_id: video, format: "xlsx", type: "nat_geo-original" } expect(response).to be_successful expect(response.body.unpack("C*").pack("U*")).to_not be_blank expect(response.header["Content-Type"]).to eq "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" expect(response.header["Content-Disposition"]).to match "original-music-log.xlsx" end end end end