logs_controller_spec.rb 1.4KB

    require 'rails_helper' describe LogsController do describe "GET index" do it "can filter by Agent" do sign_in users(:bob) get :index, params: {:agent_id => agents(:bob_weather_agent).id} expect(assigns(:logs).length).to eq(agents(:bob_weather_agent).logs.length) expect(assigns(:logs).all? {|i| expect(i.agent).to eq(agents(:bob_weather_agent)) }).to be_truthy end it "only loads Agents owned by the current user" do sign_in users(:bob) expect { get :index, params: {:agent_id => agents(:jane_weather_agent).id} }.to raise_error(ActiveRecord::RecordNotFound) end end describe "DELETE clear" do it "deletes all logs for a specific Agent" do agents(:bob_weather_agent).last_error_log_at = 2.hours.ago sign_in users(:bob) expect { delete :clear, params: {:agent_id => agents(:bob_weather_agent).id} }.to change { AgentLog.count }.by(-1 * agents(:bob_weather_agent).logs.count) expect(assigns(:logs).length).to eq(0) expect(agents(:bob_weather_agent).reload.logs.count).to eq(0) expect(agents(:bob_weather_agent).last_error_log_at).to be_nil end it "only deletes logs for an Agent owned by the current user" do sign_in users(:bob) expect { delete :clear, params: {:agent_id => agents(:jane_weather_agent).id} }.to raise_error(ActiveRecord::RecordNotFound) end end end