ticket_spec.rb 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. require 'rails_helper'
  2. RSpec.describe Ticket do
  3. describe '.merge_to' do
  4. it 'reassigns all links to the target ticket after merge' do
  5. source_ticket = create(:ticket)
  6. target_ticket = create(:ticket)
  7. important_ticket1 = create(:ticket)
  8. important_ticket2 = create(:ticket)
  9. important_ticket3 = create(:ticket)
  10. create(:link, link_object_source_value: source_ticket.id, link_object_target_value: important_ticket1.id)
  11. create(:link, link_object_source_value: source_ticket.id, link_object_target_value: important_ticket2.id)
  12. create(:link, link_object_source_value: source_ticket.id, link_object_target_value: important_ticket3.id)
  13. source_ticket.merge_to(
  14. ticket_id: target_ticket.id,
  15. user_id: 1,
  16. )
  17. links = Link.list(
  18. link_object: 'Ticket',
  19. link_object_value: target_ticket.id,
  20. )
  21. expected_ticket_ids = [source_ticket.id, important_ticket1.id, important_ticket2.id, important_ticket3.id ]
  22. check_ticket_ids = links.collect { |link| link['link_object_value'] }
  23. expect(check_ticket_ids).to match_array(expected_ticket_ids)
  24. end
  25. end
  26. end