remove_curator_group.rs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. use super::*;
  2. #[test]
  3. fn remove_curator_group_success() {
  4. with_test_externalities(|| {
  5. // Add curator group
  6. assert_ok!(add_curator_group(LEAD_ORIGIN));
  7. // Runtime tested state before call
  8. // Events number before tested call
  9. let number_of_events_before_call = System::events().len();
  10. assert_ok!(remove_curator_group(LEAD_ORIGIN, FIRST_CURATOR_GROUP_ID));
  11. // Runtime tested state after call
  12. assert_eq!(next_curator_group_id(), SECOND_CURATOR_GROUP_ID);
  13. // Ensure curator group removed
  14. assert!(!curator_group_exists(FIRST_CURATOR_GROUP_ID));
  15. let curator_group_removed_event =
  16. get_test_event(RawEvent::CuratorGroupRemoved(FIRST_CURATOR_GROUP_ID));
  17. // Event checked
  18. assert_event_success(
  19. curator_group_removed_event,
  20. number_of_events_before_call + 1,
  21. );
  22. })
  23. }
  24. #[test]
  25. fn remove_curator_group_lead_auth_failed() {
  26. with_test_externalities(|| {
  27. // Runtime tested state before call
  28. // Add curator group
  29. assert_ok!(add_curator_group(LEAD_ORIGIN));
  30. // Events number before tested call
  31. let number_of_events_before_call = System::events().len();
  32. // An attemt to remove curator group from non lead origin
  33. let remove_curator_group_result =
  34. remove_curator_group(FIRST_MEMBER_ORIGIN, FIRST_CURATOR_GROUP_ID);
  35. // Failure checked
  36. assert_failure(
  37. remove_curator_group_result,
  38. Error::<Runtime>::LeadAuthFailed,
  39. number_of_events_before_call,
  40. );
  41. })
  42. }
  43. #[test]
  44. fn remove_non_existent_curator_group() {
  45. with_test_externalities(|| {
  46. // Runtime tested state before call
  47. // Events number before tested call
  48. let number_of_events_before_call = System::events().len();
  49. // An attemt to remove non existent curator group
  50. let remove_curator_group_result =
  51. remove_curator_group(LEAD_ORIGIN, UNKNOWN_CURATOR_GROUP_ID);
  52. // Failure checked
  53. assert_failure(
  54. remove_curator_group_result,
  55. Error::<Runtime>::CuratorGroupDoesNotExist,
  56. number_of_events_before_call,
  57. );
  58. })
  59. }
  60. #[test]
  61. fn curator_group_removal_forbidden() {
  62. with_test_externalities(|| {
  63. // Runtime tested state before call
  64. // Create class
  65. assert_ok!(create_simple_class(LEAD_ORIGIN, ClassType::Valid));
  66. // Add curator group
  67. assert_ok!(add_curator_group(LEAD_ORIGIN));
  68. // Add curator group as class maintainer
  69. assert_ok!(add_maintainer_to_class(
  70. LEAD_ORIGIN,
  71. FIRST_CLASS_ID,
  72. FIRST_CURATOR_GROUP_ID
  73. ));
  74. // Events number before tested call
  75. let number_of_events_before_call = System::events().len();
  76. // An attemt to remove curator group, that have classes maintained
  77. let remove_curator_group_result = remove_curator_group(LEAD_ORIGIN, FIRST_CURATOR_ID);
  78. // Failure checked
  79. assert_failure(
  80. remove_curator_group_result,
  81. Error::<Runtime>::CuratorGroupRemovalForbidden,
  82. number_of_events_before_call,
  83. );
  84. })
  85. }