Sha256: 12b7d6a7e989e34ea8a479f6955fc816ca69d8da8202518806b5d3e16b7c5800

Contents?: true

Size: 1.58 KB

Versions: 4

Compression:

Stored size: 1.58 KB

Contents

require 'spec_helper'

RSpec.describe Sufia::Workflow::ChangesRequiredNotification do
  let(:approver) { create(:user) }
  let(:depositor) { create(:user) }
  let(:to_user) { create(:user) }
  let(:cc_user) { create(:user) }
  let(:work) { create(:generic_work, user: depositor) }
  let(:entity) { create(:sipity_entity, proxy_for_global_id: work.to_global_id.to_s) }
  let(:comment) { double("comment", comment: 'A pleasant read') }
  let(:recipients) { { 'to' => [to_user], 'cc' => [cc_user] } }

  describe ".send_notification" do
    it 'sends a message to all users' do
      expect(approver).to receive(:send_message).with(anything, "Test title (<a href=\"/concern/generic_works/#{work.id}\">#{work.id}</a>) requires additional changes before approval.\n\n 'A pleasant read'", anything).once.and_call_original

      expect { described_class.send_notification(entity: entity, user: approver, comment: comment, recipients: recipients) }
        .to change { depositor.mailbox.inbox.count }.by(1)
        .and change { to_user.mailbox.inbox.count }.by(1)
        .and change { cc_user.mailbox.inbox.count }.by(1)
    end
    context 'without carbon-copied users' do
      let(:recipients) { { 'to' => [to_user] } }
      it 'sends a message to the to user(s)' do
        expect(approver).to receive(:send_message).once.and_call_original
        expect { described_class.send_notification(entity: entity, user: approver, comment: comment, recipients: recipients) }
          .to change { depositor.mailbox.inbox.count }.by(1)
          .and change { to_user.mailbox.inbox.count }.by(1)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sufia-7.4.1 spec/services/sufia/workflow/changes_required_notification_spec.rb
sufia-7.4.0 spec/services/sufia/workflow/changes_required_notification_spec.rb
sufia-7.3.1 spec/services/sufia/workflow/changes_required_notification_spec.rb
sufia-7.3.0 spec/services/sufia/workflow/changes_required_notification_spec.rb