Sha256: fdaf77d4898f1fc8e110cd8f57a24028d961e2c8019e2779a14c849cfb78cb4e

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

describe BigbluebuttonUpdateServerConfigsWorker do

  it "uses the queue :bigbluebutton_rails" do
    BigbluebuttonUpdateServerConfigsWorker.instance_variable_get(:@queue).should eql(:bigbluebutton_rails)
  end

  describe "#perform" do
    let!(:servers) {
      [ FactoryGirl.create(:bigbluebutton_server, version: "0.8"),
        FactoryGirl.create(:bigbluebutton_server, version: "0.8"),
        FactoryGirl.create(:bigbluebutton_server, version: "0.8") ]
    }

    context "calls #update_config for each server" do
      before {
        BigbluebuttonServer.stub(:find_each)
          .and_yield(servers[0])
          .and_yield(servers[1])
          .and_yield(servers[2])
        expect(servers[0]).to receive(:update_config).once
        expect(servers[1]).to receive(:update_config).once
        expect(servers[2]).to receive(:update_config).once
      }
      it { BigbluebuttonUpdateServerConfigsWorker.perform }
    end

    context "updates the version of each server" do
      let(:new_version) { "0.9" }
      before {
        BigbluebuttonServer.stub(:find_each)
          .and_yield(servers[0])
          .and_yield(servers[1])
          .and_yield(servers[2])
        expect(servers[0]).to receive(:set_api_version_from_server).at_least(:once).and_return(new_version)
        expect(servers[1]).to receive(:set_api_version_from_server).at_least(:once).and_return(new_version)
        expect(servers[2]).to receive(:set_api_version_from_server).at_least(:once).and_return(new_version)
        BigbluebuttonUpdateServerConfigsWorker.perform
      }
      it { servers[0].version.should eql(new_version) }
      it { servers[1].version.should eql(new_version) }
      it { servers[2].version.should eql(new_version) }
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bigbluebutton_rails-3.0.0 spec/workers/bigbluebutton_update_server_configs_worker_spec.rb
bigbluebutton_rails-2.3.0 spec/workers/bigbluebutton_update_server_configs_worker_spec.rb