Add tests for management endpoint for site-wide muting
This commit is contained in:
parent
2d01d9b365
commit
b59c9b3af2
|
@ -0,0 +1,56 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
describe Moderation::AnonymousBlockController, :ajax_controller, type: :controller do
|
||||||
|
describe "#index" do
|
||||||
|
subject { get :index }
|
||||||
|
|
||||||
|
shared_examples_for "should render the page successfully" do
|
||||||
|
it "should render the page successfully" do
|
||||||
|
subject
|
||||||
|
expect(response).to have_rendered(:index)
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples_for "empty" do
|
||||||
|
it "should assign an empty result set" do
|
||||||
|
subject
|
||||||
|
expect(assigns(:anonymous_blocks)).to be_empty
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when there are no anonymous blocks" do
|
||||||
|
include_examples "empty"
|
||||||
|
include_examples "should render the page successfully"
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when there are some anonymous blocks set" do
|
||||||
|
before do
|
||||||
|
%w[a b c].each do |identifier|
|
||||||
|
AnonymousBlock.create!(identifier:)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should assign an result set" do
|
||||||
|
subject
|
||||||
|
expect(assigns(:anonymous_blocks).length).to eq(3)
|
||||||
|
end
|
||||||
|
|
||||||
|
include_examples "should render the page successfully"
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when there are only anonymous blocks assigned for users" do
|
||||||
|
before do
|
||||||
|
user = FactoryBot.create(:user)
|
||||||
|
%w[a b c].each do |identifier|
|
||||||
|
AnonymousBlock.create!(user:, identifier:)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
include_examples "empty"
|
||||||
|
include_examples "should render the page successfully"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue