# frozen_string_literal: true require "rails_helper" describe Settings::MutesController, type: :controller do describe "#index" do subject { get :index } context "user signed in" do let(:user) { FactoryBot.create(:user) } before { sign_in user } it "shows the index page" do subject expect(response).to have_rendered(:index) end end end describe "#create" do subject { post :create, params: { muted_phrase: "foo" } } context "user signed in" do let(:user) { FactoryBot.create(:user) } before { sign_in user } it "creates a mute rule" do expect { subject }.to(change { MuteRule.count }.by(1)) end end end describe "#destroy" do subject { delete :destroy, params: } context "user signed in" do let(:user) { FactoryBot.create(:user) } let(:rule) { MuteRule.create(user:, muted_phrase: "foo") } let(:params) { { id: rule.id } } before { sign_in user } it "destroys a mute rule" do subject expect(MuteRule.exists?(rule.id)).to eq(false) end end end end