UNPKG

@open-web3/api-mobx

Version:
79 lines (65 loc) 2.86 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _mobx = require("mobx"); var _api = require("@polkadot/api"); var _rpcProvider = require("@polkadot/rpc-provider"); var _api2 = require("@acala-network/api"); var _ = require("../.."); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } describe('acala-storage', () => { jest.setTimeout(30000); let apiManager; let storage; beforeAll(async () => { const provider = new _rpcProvider.WsProvider('wss://acala-mandala.api.onfinality.io/public-ws'); apiManager = await _api.ApiPromise.create(_objectSpread({ provider }, (0, _api2.options)())); storage = (0, _.createStorage)(apiManager, provider); }); it('subscribes to storage', done => { let i = 0; (0, _mobx.autorun)(() => { const result = storage.timestamp.now; result && ++i && console.log(result.toString()); if (i > 2) { done(); } }); }); it('subscribes to optional StorageMap', done => { let i = 0; (0, _mobx.autorun)(() => { const result = storage.cdpEngine.debitExchangeRate.entries(); result && ++i && console.log(Array.from(result.keys()), Array.from(result.values()).map(x => x.toString())); if (i > 2) { done(); } }); }); it('subscribes to optional StorageMap with key', done => { let i = 0; let rentbc = apiManager.createType('CurrencyId', { token: "RENBTC" }); (0, _mobx.autorun)(() => { const result = storage.cdpEngine.debitExchangeRate(rentbc.toHex()); result && ++i && console.log(result.toString()); if (i > 2) { done(); } }); }); it('subscribes to system events', done => { let i = 0; (0, _mobx.autorun)(() => { const result = storage.system.events; result && ++i && console.log(result.toString()); if (i > 2) { done(); } }); }); });