services_controller_spec.rb 1.1KB

    require 'rails_helper' describe ServicesController do before do sign_in users(:bob) end describe "GET index" do it "only returns sevices of the current user" do get :index expect(assigns(:services).all? {|i| expect(i.user).to eq(users(:bob)) }).to eq(true) end end describe "POST toggle_availability" do it "should work for service of the user" do post :toggle_availability, params: {:id => services(:generic).to_param} expect(assigns(:service)).to eq(services(:generic)) redirect_to(services_path) end it "should not work for a service of another user" do expect { post :toggle_availability, params: {:id => services(:global).to_param} }.to raise_error(ActiveRecord::RecordNotFound) end end describe "DELETE destroy" do it "destroys only services owned by the current user" do expect { delete :destroy, params: {:id => services(:generic).to_param} }.to change(Service, :count).by(-1) expect { delete :destroy, params: {:id => services(:global).to_param} }.to raise_error(ActiveRecord::RecordNotFound) end end end