# frozen_string_literal: true require "rails_helper" describe "plugin" do before { SiteSetting.assign_enabled = true } describe "events" do describe "on user_removed_from_group" do before do @topic = Fabricate(:post).topic @user = Fabricate(:user) @group_a = Fabricate(:group) @group_a.add(@user) end it "unassigns the user" do SiteSetting.assign_allowed_on_groups = @group_a.id.to_s Assigner.new(@topic, Discourse.system_user).assign(@user) @group_a.remove(@user) expect(Assignment.count).to eq(0) end it "doesn't unassign the user if it still has access through another group" do @group_b = Fabricate(:group) @group_b.add(@user) SiteSetting.assign_allowed_on_groups = [@group_a.id.to_s, @group_b.id.to_s].join("|") Assigner.new(@topic, Discourse.system_user).assign(@user) @group_a.remove(@user) assignment = Assignment.first expect(assignment.assigned_to_id).to eq(@user.id) expect(assignment.assigned_by_user_id).to eq(Discourse::SYSTEM_USER_ID) end end end end