ticket_state_test.rb 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # encoding: utf-8
  2. require 'test_helper'
  3. class TicketStateTest < ActiveSupport::TestCase
  4. test 'base' do
  5. # check current state
  6. assert_equal(1, Ticket::State.where(default_create: true).count)
  7. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  8. state_create = Ticket::State.find_by(default_create: true)
  9. state_follow_up = Ticket::State.find_by(default_follow_up: true)
  10. # add new state
  11. state_new2 = Ticket::State.create_if_not_exists(
  12. name: 'new 2',
  13. state_type_id: Ticket::StateType.find_by(name: 'new').id,
  14. updated_by_id: 1,
  15. created_by_id: 1,
  16. )
  17. state_follow_up2 = Ticket::State.create_if_not_exists(
  18. name: 'open 2',
  19. state_type_id: Ticket::StateType.find_by(name: 'open').id,
  20. updated_by_id: 1,
  21. created_by_id: 1,
  22. )
  23. # verify states
  24. assert_equal(1, Ticket::State.where(default_create: true).count)
  25. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  26. assert_equal(state_create.id, Ticket::State.find_by(default_create: true).id)
  27. assert_equal(state_follow_up.id, Ticket::State.find_by(default_follow_up: true).id)
  28. # cleanup
  29. state_new2.destroy
  30. state_follow_up2.destroy
  31. # verify states
  32. assert_equal(1, Ticket::State.where(default_create: true).count)
  33. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  34. assert_equal(state_create.id, Ticket::State.find_by(default_create: true).id)
  35. assert_equal(state_follow_up.id, Ticket::State.find_by(default_follow_up: true).id)
  36. # add new state
  37. state_new3 = Ticket::State.create_if_not_exists(
  38. name: 'new 3',
  39. state_type_id: Ticket::StateType.find_by(name: 'new').id,
  40. default_create: true,
  41. updated_by_id: 1,
  42. created_by_id: 1,
  43. )
  44. state_follow_up3 = Ticket::State.create_if_not_exists(
  45. name: 'open 3',
  46. state_type_id: Ticket::StateType.find_by(name: 'open').id,
  47. default_follow_up: true,
  48. updated_by_id: 1,
  49. created_by_id: 1,
  50. )
  51. # verify states
  52. assert_equal(1, Ticket::State.where(default_create: true).count)
  53. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  54. assert_not_equal(state_create.id, Ticket::State.find_by(default_create: true).id)
  55. assert_equal(state_new3.id, Ticket::State.find_by(default_create: true).id)
  56. assert_not_equal(state_follow_up.id, Ticket::State.find_by(default_follow_up: true).id)
  57. assert_equal(state_follow_up3.id, Ticket::State.find_by(default_follow_up: true).id)
  58. # cleanup
  59. state_new3.destroy
  60. state_follow_up3.destroy
  61. # verify states
  62. assert_equal(1, Ticket::State.where(default_create: true).count)
  63. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  64. assert_equal(state_create.id, Ticket::State.find_by(default_create: true).id)
  65. assert_not_equal(state_follow_up.id, Ticket::State.find_by(default_follow_up: true).id)
  66. # cleanup
  67. state_create.reload
  68. state_create.default_create = true
  69. state_create.save!
  70. state_follow_up.reload
  71. state_follow_up.default_follow_up = true
  72. state_follow_up.save!
  73. # verify states
  74. assert_equal(1, Ticket::State.where(default_create: true).count)
  75. assert_equal(1, Ticket::State.where(default_follow_up: true).count)
  76. assert_equal(state_create.id, Ticket::State.find_by(default_create: true).id)
  77. assert_equal(state_follow_up.id, Ticket::State.find_by(default_follow_up: true).id)
  78. end
  79. end