require 'rails_helper' require 'zoom_gateway' RSpec.describe ZoomMeetingsController, type: :controller do let(:user) { create(:user) } let(:account) { user.primary_account } let(:project) { create(:project, account: user.primary_account) } let(:broadcast) { create(:broadcast, name: "Broadcast", project: project) } let(:meeting_start_url) { "http://meeting_start_url" } let(:meeting_hash) { HashWithIndifferentAccess.new(start_url: meeting_start_url) } let(:user_create_response) { {"id" => "new_host_id"} } let(:roles_assign_response) { {"ids" => ["new_host_id"]} } let(:roles_list_response) { {"roles" => [{"name" => "directme-host"}]} } before :each do allow_any_instance_of(ZoomGateway).to receive(:find_meeting).and_return(meeting_hash) allow_any_instance_of(ZoomGateway).to receive(:create_meeting).and_return("meeting_id") allow_any_instance_of(ZoomGateway).to receive(:create_host).and_return("host_id") allow(MuxLiveStream).to receive(:new).and_return OpenStruct.new(id: 'id', key: 'key', playback_id: 'playback_id') end describe "#show" do before { sign_in user } it "redirects to meeting start url" do get :show, params: { project_id: project.id, broadcast_id: broadcast.id } expect(response).to redirect_to(meeting_start_url) end end end