123456789101112131415161718192021222324252627282930 |
- require 'rails_helper'
- RSpec.describe UpdateCtiLogsByCallerJob, type: :job do
- let(:phone) { '1234567890' }
- let!(:logs) { create_list(:cti_log, 5, direction: :in, from: phone) }
- let(:log_prefs) { logs.each(&:reload).map(&:preferences) }
- it 'accepts a phone number' do
- expect { described_class.perform_now(phone) }
- .not_to raise_error
- end
- context 'with no user matching provided phone number' do
- it 'updates Cti::Logs from that number with "preferences" => {}' do
- described_class.perform_now(phone)
- expect(log_prefs).to all(be_empty)
- end
- end
- context 'with existing user matching provided phone number' do
- before { create(:user, phone: phone) }
- it 'updates Cti::Logs from that number with valid "preferences" hash' do
- described_class.perform_now(phone)
- expect(log_prefs).to all(include('from' => a_kind_of(Array)))
- end
- end
- end
|