follow_up_assignment_spec.rb 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
  2. require 'rails_helper'
  3. RSpec.describe Channel::Filter::FollowUpAssignment, type: :channel_filter do
  4. context 'with group follow_up_assignment true' do
  5. let(:group) { create(:group, follow_up_assignment: true) }
  6. context 'when ticket closed' do
  7. let(:ticket) { create(:ticket, group: group, state: Ticket::State.find_by(name: 'closed')) }
  8. it 'does not change the owner' do
  9. mail = {
  10. 'x-zammad-ticket-id': ticket.id
  11. }
  12. filter(mail)
  13. expect(mail[:'x-zammad-ticket-followup-owner']).to be_nil
  14. end
  15. end
  16. context 'when ticket open' do
  17. let(:ticket) { create(:ticket, group: group, state: Ticket::State.find_by(name: 'open')) }
  18. it 'does not change the owner' do
  19. mail = {
  20. 'x-zammad-ticket-id': ticket.id
  21. }
  22. filter(mail)
  23. expect(mail[:'x-zammad-ticket-followup-owner']).to be_nil
  24. end
  25. end
  26. end
  27. context 'with group follow_up_assignment false' do
  28. let(:group) { create(:group, follow_up_assignment: false) }
  29. context 'when ticket closed' do
  30. let(:ticket) { create(:ticket, group: group, state: Ticket::State.find_by(name: 'closed')) }
  31. it 'does change the owner' do
  32. mail = {
  33. 'x-zammad-ticket-id': ticket.id
  34. }
  35. filter(mail)
  36. expect(mail[:'x-zammad-ticket-followup-owner']).to eq(User.lookup(id: 1).login)
  37. end
  38. end
  39. context 'when ticket open' do
  40. let(:ticket) { create(:ticket, group: group, state: Ticket::State.find_by(name: 'open')) }
  41. it 'does not change the owner' do
  42. mail = {
  43. 'x-zammad-ticket-id': ticket.id
  44. }
  45. filter(mail)
  46. expect(mail[:'x-zammad-ticket-followup-owner']).to be_nil
  47. end
  48. end
  49. end
  50. end