Sha256: 1d682020a798b9c701b4f61f8c579fe33bf669f099d928129880c5426fc88a9e
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require "spec_helper" require "timecop" describe Lita::Handlers::ServerStatus, lita_handler: true do let(:formatted_local_time) { Time.now.strftime("%Y-%m-%d %H:%M") } before(:each) do allow_any_instance_of(Lita::Handlers::ServerStatus).to receive(:formatted_time).and_return(formatted_local_time) end it { routes("Waffle McRib is starting deploy of 'APPNAME' from branch 'MASTER' to PRODUCTION").to(:save_status) } it { routes_command("server status").to(:list_statuses) } it "saves the server status" do expect_any_instance_of(Lita::Handlers::ServerStatus).to receive(:save_status) send_message(%{Waffle McRib is starting deploy of 'APPNAME' from branch 'MASTER' to PRODUCTION}) end it "update the server status if it changes" do Timecop.freeze(Time.now) do send_message(%{Waffle McRib is starting deploy of 'FAKEAPP' from branch 'MASTER' to PRODUCTION}) send_command("server status") expect(replies.last).to include("FAKEAPP PRODUCTION: MASTER (Waffle McRib @ #{formatted_local_time})") send_message(%{Waffle McRib is starting deploy of 'FAKEAPP' from branch 'WAFFLE' to PRODUCTION}) send_command("server status") expect(replies.last).to include("FAKEAPP PRODUCTION: WAFFLE (Waffle McRib @ #{formatted_local_time})") end end it "should list the current server statuses" do Timecop.freeze(Time.now) do send_message(%{Waffle McRib is starting deploy of 'FAKEAPP' from branch 'MASTER' to PRODUCTION}) send_message(%{Waffle McRib is starting deploy of 'BATMAN' from branch 'AWESOME' to STAGING}) send_command("server status") expect(replies.last).to include("FAKEAPP PRODUCTION: MASTER (Waffle McRib @ #{formatted_local_time})") expect(replies.last).to include("BATMAN STAGING: AWESOME (Waffle McRib @ #{formatted_local_time})") end end it "admits when there are no statuses" do send_command("server status") expect(replies.last).to eq("I don't know what state the servers are in.") end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lita-server_status-0.0.3 | spec/lita/handlers/server_status_spec.rb |
lita-server_status-0.0.2 | spec/lita/handlers/server_status_spec.rb |