123456789101112131415161718192021222324252627282930313233343536373839404142 |
- require 'rails_helper'
- RSpec.describe TicketUserTicketCounterJob, type: :job do
- let!(:customer) { create(:user) }
- let!(:ticket_states) do
- {
- open: Ticket::State.by_category(:open).first,
- closed: Ticket::State.by_category(:closed).first,
- }
- end
- let!(:tickets) do
- {
- open: [
- create(:ticket, state_id: ticket_states[:open].id, customer_id: customer.id),
- create(:ticket, state_id: ticket_states[:open].id, customer_id: customer.id),
- ],
- closed: [
- create(:ticket, state_id: ticket_states[:closed].id, customer_id: customer.id),
- ],
- }
- end
- it 'checks if customer has no ticket count in preferences' do
- customer.reload
- expect(customer[:preferences][:tickets_open]).to be_falsey
- expect(customer[:preferences][:tickets_closed]).to be_falsey
- end
- it 'checks if customer ticket count has been updated in preferences' do
- described_class.perform_now(
- customer.id,
- customer.id,
- )
- customer.reload
- expect(customer[:preferences][:tickets_open]).to be tickets[:open].count
- expect(customer[:preferences][:tickets_closed]).to be tickets[:closed].count
- end
- end
|