# frozen_string_literal: true require "rails_helper" describe ExportWorker do let(:user) { FactoryBot.create(:user) } describe "#perform" do let(:exporter_double) { double("Exporter") } before do # stub away the testing of the exporter itself since it is done in lib/exporter_spec allow(exporter_double).to receive(:export) allow(Exporter).to receive(:new).and_return(exporter_double) end subject { described_class.new.perform(user.id) } it "creates an exported notification" do expect { subject }.to change { Notification::DataExported.count }.by(1) notification = Notification::DataExported.last expect(notification.target_id).to eq(user.id) expect(notification.target_type).to eq("User::DataExport") expect(notification.recipient).to eq(user) expect(notification.new).to be true end end end