35 lines
1.3 KiB
Ruby
35 lines
1.3 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe VideoReportsController, 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 discovery" 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 "video_file-mp4_production-elements-log.xlsx"
|
|
end
|
|
end
|
|
|
|
context "when type is nat_geo" 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 "video_file-mp4_legal-binder-log.xlsx"
|
|
end
|
|
end
|
|
end
|
|
end
|