UNPKG

machinomy

Version:

Micropayments powered by Ethereum

68 lines 3.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const expect = require("expect"); const Storage_1 = require("./Storage"); const EngineNedb_1 = require("./storage/nedb/EngineNedb"); const NedbChannelsDatabase_1 = require("./storage/nedb/NedbChannelsDatabase"); const NedbTokensDatabase_1 = require("./storage/nedb/NedbTokensDatabase"); const NedbPaymentsDatabase_1 = require("./storage/nedb/NedbPaymentsDatabase"); const EnginePostgres_1 = require("./storage/postgresql/EnginePostgres"); const PostgresChannelsDatabase_1 = require("./storage/postgresql/PostgresChannelsDatabase"); const PostgresTokensDatabase_1 = require("./storage/postgresql/PostgresTokensDatabase"); const PostgresPaymentsDatabase_1 = require("./storage/postgresql/PostgresPaymentsDatabase"); const contracts_1 = require("@machinomy/contracts"); const sinon = require("sinon"); const EngineSqlite_1 = require("./storage/sqlite/EngineSqlite"); const SqliteChannelsDatabase_1 = require("./storage/sqlite/SqliteChannelsDatabase"); const SqliteTokensDatabase_1 = require("./storage/sqlite/SqliteTokensDatabase"); const SqlitePaymentsDatabase_1 = require("./storage/sqlite/SqlitePaymentsDatabase"); describe('Storage', () => { let web3; let deployed; let contractStub; let inflator = {}; beforeEach(() => { web3 = { currentProvider: {} }; deployed = {}; contractStub = sinon.stub(contracts_1.Unidirectional, 'contract'); contractStub.withArgs(web3.currentProvider).returns({ deployed: sinon.stub().resolves(Promise.resolve(deployed)) }); }); afterEach(() => { contractStub.restore(); }); context('for Nedb', async () => { const url = 'nedb://'; specify('provide Nedb databases', async () => { const storage = await Storage_1.default.build(url, inflator); expect(storage.engine instanceof EngineNedb_1.default).toBeTruthy(); expect(storage.channelsDatabase instanceof NedbChannelsDatabase_1.default).toBeTruthy(); expect(storage.tokensDatabase instanceof NedbTokensDatabase_1.default).toBeTruthy(); expect(storage.paymentsDatabase instanceof NedbPaymentsDatabase_1.default).toBeTruthy(); }); }); context('for Sqlite', async () => { const url = 'sqlite://'; specify('provide Sqlite databases', async () => { const storage = await Storage_1.default.build(url, inflator); expect(storage.engine instanceof EngineSqlite_1.default).toBeTruthy(); expect(storage.channelsDatabase instanceof SqliteChannelsDatabase_1.default).toBeTruthy(); expect(storage.tokensDatabase instanceof SqliteTokensDatabase_1.default).toBeTruthy(); expect(storage.paymentsDatabase instanceof SqlitePaymentsDatabase_1.default).toBeTruthy(); }); }); context('for Postgresql', async () => { const url = 'postgresql://host/database'; specify('provide Postgresql databases', async () => { const storage = await Storage_1.default.build(url, inflator); expect(storage.engine instanceof EnginePostgres_1.default).toBeTruthy(); expect(storage.channelsDatabase instanceof PostgresChannelsDatabase_1.default).toBeTruthy(); expect(storage.tokensDatabase instanceof PostgresTokensDatabase_1.default).toBeTruthy(); expect(storage.paymentsDatabase instanceof PostgresPaymentsDatabase_1.default).toBeTruthy(); }); }); }); //# sourceMappingURL=Storage.test.js.map