mod.rs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #![cfg(test)]
  2. mod fixtures;
  3. mod mock;
  4. use frame_support::dispatch::DispatchError;
  5. use frame_system::RawOrigin;
  6. use fixtures::{run_to_block, CreateStorageBucketFixture, EventFixture};
  7. use mock::{initial_test_ext, Storage};
  8. use crate::{RawEvent, StorageBucketOperatorStatus, Voucher};
  9. #[test]
  10. fn create_storage_bucket_succeeded() {
  11. initial_test_ext().execute_with(|| {
  12. let starting_block = 1;
  13. run_to_block(starting_block);
  14. let accepting_new_data_objects = true;
  15. let voucher = Voucher::default();
  16. let invite_worker = None;
  17. let bucket_id = CreateStorageBucketFixture::default()
  18. .with_accepting_new_data_objects(accepting_new_data_objects)
  19. .with_invite_worker(invite_worker)
  20. .with_voucher(voucher.clone())
  21. .call_and_assert(Ok(()))
  22. .unwrap();
  23. let storage_bucket = Storage::storage_bucket_by_id(bucket_id);
  24. assert_eq!(
  25. storage_bucket.operator_status,
  26. StorageBucketOperatorStatus::Missing
  27. );
  28. EventFixture::assert_last_crate_event(RawEvent::StorageBucketCreated(
  29. bucket_id,
  30. invite_worker,
  31. accepting_new_data_objects,
  32. voucher,
  33. ));
  34. });
  35. }
  36. #[test]
  37. fn create_storage_bucket_succeeded_with_invited_member() {
  38. initial_test_ext().execute_with(|| {
  39. let invited_worker_id = 10;
  40. let accepting_new_data_objects = true;
  41. let voucher = Voucher::default();
  42. let invite_worker = Some(invited_worker_id);
  43. let bucket_id = CreateStorageBucketFixture::default()
  44. .with_accepting_new_data_objects(accepting_new_data_objects)
  45. .with_invite_worker(invite_worker)
  46. .with_voucher(voucher.clone())
  47. .call_and_assert(Ok(()))
  48. .unwrap();
  49. let storage_bucket = Storage::storage_bucket_by_id(bucket_id);
  50. assert_eq!(
  51. storage_bucket.operator_status,
  52. StorageBucketOperatorStatus::InvitedStorageWorker(invited_worker_id)
  53. );
  54. });
  55. }
  56. #[test]
  57. fn create_storage_bucket_fails_with_invalid_origin() {
  58. initial_test_ext().execute_with(|| {
  59. CreateStorageBucketFixture::default()
  60. .with_origin(RawOrigin::None)
  61. .call_and_assert(Err(DispatchError::BadOrigin));
  62. });
  63. }