Pausable.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. contract('Pausable', function(accounts) {
  2. it("can perform normal process in non-emergency", async function() {
  3. let Pausable = await PausableMock.new();
  4. let count0 = await Pausable.count();
  5. assert.equal(count0, 0);
  6. let normalProcess = await Pausable.normalProcess();
  7. let count1 = await Pausable.count();
  8. assert.equal(count1, 1);
  9. });
  10. it("can not perform normal process in emergency", async function() {
  11. let Pausable = await PausableMock.new();
  12. let emergencyStop = await Pausable.emergencyStop();
  13. let count0 = await Pausable.count();
  14. assert.equal(count0, 0);
  15. let normalProcess = await Pausable.normalProcess();
  16. let count1 = await Pausable.count();
  17. assert.equal(count1, 0);
  18. });
  19. it("can not take drastic measure in non-emergency", async function() {
  20. let Pausable = await PausableMock.new();
  21. let drasticMeasure = await Pausable.drasticMeasure();
  22. let drasticMeasureTaken = await Pausable.drasticMeasureTaken();
  23. assert.isFalse(drasticMeasureTaken);
  24. });
  25. it("can take a drastic measure in an emergency", async function() {
  26. let Pausable = await PausableMock.new();
  27. let emergencyStop = await Pausable.emergencyStop();
  28. let drasticMeasure = await Pausable.drasticMeasure();
  29. let drasticMeasureTaken = await Pausable.drasticMeasureTaken();
  30. assert.isTrue(drasticMeasureTaken);
  31. });
  32. it("should resume allowing normal process after emergency is over", async function() {
  33. let Pausable = await PausableMock.new();
  34. let emergencyStop = await Pausable.emergencyStop();
  35. let release = await Pausable.release();
  36. let normalProcess = await Pausable.normalProcess();
  37. let count0 = await Pausable.count();
  38. assert.equal(count0, 1);
  39. });
  40. });