user_destroy_spec.rb 549 Bytes
describe UserDestroy do
  let(:app) do
    Fabricate(
      :app,
      watchers: [
        Fabricate.build(:user_watcher, user: user)
      ])
  end

  describe "#destroy" do
    let!(:user) { Fabricate(:user) }
    it 'should delete user' do
      expect do
        UserDestroy.new(user).destroy
      end.to change(User, :count)
    end

    it 'should delete watcher' do
      expect do
        UserDestroy.new(user).destroy
      end.to change {
        app.reload.watchers.where(user_id: user.id).count
      }.from(1).to(0)
    end
  end
end