diff --git a/src/domain/session/room/timeline/ReactionsViewModel.js b/src/domain/session/room/timeline/ReactionsViewModel.js index f0dcf79f..ca5d43f0 100644 --- a/src/domain/session/room/timeline/ReactionsViewModel.js +++ b/src/domain/session/room/timeline/ReactionsViewModel.js @@ -181,7 +181,7 @@ import {FragmentIdComparer} from "../../../../matrix/room/timeline/FragmentIdCom import {createAnnotation} from "../../../../matrix/room/timeline/relations.js"; // mocks import {Clock as MockClock} from "../../../../mocks/Clock.js"; -import {createMockStorage} from "../../../../mocks/Storage.js"; +import {createMockStorage} from "../../../../mocks/Storage"; import {ListObserver} from "../../../../mocks/ListObserver.js"; import {createEvent, withTextBody, withContent} from "../../../../mocks/event.js"; import {NullLogItem, NullLogger} from "../../../../logging/NullLogger.js"; diff --git a/src/matrix/room/sending/SendQueue.js b/src/matrix/room/sending/SendQueue.js index fec40397..28408e34 100644 --- a/src/matrix/room/sending/SendQueue.js +++ b/src/matrix/room/sending/SendQueue.js @@ -351,7 +351,7 @@ export class SendQueue { } import {HomeServer as MockHomeServer} from "../../../mocks/HomeServer.js"; -import {createMockStorage} from "../../../mocks/Storage.js"; +import {createMockStorage} from "../../../mocks/Storage"; import {ListObserver} from "../../../mocks/ListObserver.js"; import {NullLogger, NullLogItem} from "../../../logging/NullLogger.js"; import {createEvent, withTextBody, withTxnId} from "../../../mocks/event.js"; diff --git a/src/matrix/room/timeline/Timeline.js b/src/matrix/room/timeline/Timeline.js index 9169b029..4e6fe40c 100644 --- a/src/matrix/room/timeline/Timeline.js +++ b/src/matrix/room/timeline/Timeline.js @@ -343,7 +343,7 @@ export class Timeline { import {FragmentIdComparer} from "./FragmentIdComparer.js"; import {poll} from "../../../mocks/poll.js"; import {Clock as MockClock} from "../../../mocks/Clock.js"; -import {createMockStorage} from "../../../mocks/Storage.js"; +import {createMockStorage} from "../../../mocks/Storage"; import {ListObserver} from "../../../mocks/ListObserver.js"; import {createEvent, withTextBody, withContent, withSender} from "../../../mocks/event.js"; import {NullLogItem} from "../../../logging/NullLogger.js"; diff --git a/src/matrix/room/timeline/persistence/GapWriter.js b/src/matrix/room/timeline/persistence/GapWriter.js index 8d81288c..7794b797 100644 --- a/src/matrix/room/timeline/persistence/GapWriter.js +++ b/src/matrix/room/timeline/persistence/GapWriter.js @@ -203,7 +203,7 @@ export class GapWriter { import {FragmentIdComparer} from "../FragmentIdComparer.js"; import {RelationWriter} from "./RelationWriter.js"; -import {createMockStorage} from "../../../../mocks/Storage.js"; +import {createMockStorage} from "../../../../mocks/Storage"; import {FragmentBoundaryEntry} from "../entries/FragmentBoundaryEntry.js"; import {NullLogItem} from "../../../../logging/NullLogger.js"; import {TimelineMock, eventIds, eventId} from "../../../../mocks/TimelineMock.ts"; diff --git a/src/matrix/room/timeline/persistence/RelationWriter.js b/src/matrix/room/timeline/persistence/RelationWriter.js index 0466b3da..c0d3d369 100644 --- a/src/matrix/room/timeline/persistence/RelationWriter.js +++ b/src/matrix/room/timeline/persistence/RelationWriter.js @@ -253,7 +253,7 @@ const _REDACT_KEEP_CONTENT_MAP = { }; // end of matrix-js-sdk code -import {createMockStorage} from "../../../../mocks/Storage.js"; +import {createMockStorage} from "../../../../mocks/Storage"; import {createEvent, withTextBody, withRedacts, withContent} from "../../../../mocks/event.js"; import {createAnnotation} from "../relations.js"; import {FragmentIdComparer} from "../FragmentIdComparer.js"; diff --git a/src/matrix/room/timeline/persistence/SyncWriter.js b/src/matrix/room/timeline/persistence/SyncWriter.js index af6f55bc..749c3392 100644 --- a/src/matrix/room/timeline/persistence/SyncWriter.js +++ b/src/matrix/room/timeline/persistence/SyncWriter.js @@ -256,7 +256,7 @@ export class SyncWriter { } } -import {createMockStorage} from "../../../../mocks/Storage.js"; +import {createMockStorage} from "../../../../mocks/Storage"; import {createEvent, withTextBody} from "../../../../mocks/event.js"; import {Instance as nullLogger} from "../../../../logging/NullLogger.js"; export function tests() { diff --git a/src/matrix/storage/idb/stores/TimelineEventStore.ts b/src/matrix/storage/idb/stores/TimelineEventStore.ts index 1d261f4a..75428d87 100644 --- a/src/matrix/storage/idb/stores/TimelineEventStore.ts +++ b/src/matrix/storage/idb/stores/TimelineEventStore.ts @@ -317,7 +317,7 @@ export class TimelineEventStore { } } -import {createMockStorage} from "../../../../mocks/Storage.js"; +import {createMockStorage} from "../../../../mocks/Storage"; import {createEvent, withTextBody} from "../../../../mocks/event.js"; import {createEventEntry} from "../../../room/timeline/persistence/common.js"; diff --git a/src/matrix/storage/idb/utils.ts b/src/matrix/storage/idb/utils.ts index a9432139..ca6e06de 100644 --- a/src/matrix/storage/idb/utils.ts +++ b/src/matrix/storage/idb/utils.ts @@ -68,7 +68,7 @@ export function decodeUint32(str: string): number { return parseInt(str, 16); } -type CreateObjectStore = (db : IDBDatabase, txn: IDBTransaction | null, oldVersion: number, version: number) => any +export type CreateObjectStore = (db : IDBDatabase, txn: IDBTransaction | null, oldVersion: number, version: number) => any export function openDatabase(name: string, createObjectStore: CreateObjectStore, version: number, idbFactory: IDBFactory = window.indexedDB): Promise { const req = idbFactory.open(name, version); diff --git a/src/mocks/Storage.js b/src/mocks/Storage.ts similarity index 52% rename from src/mocks/Storage.js rename to src/mocks/Storage.ts index 876cc009..2adf8001 100644 --- a/src/mocks/Storage.js +++ b/src/mocks/Storage.ts @@ -16,8 +16,26 @@ limitations under the License. import {FDBFactory, FDBKeyRange} from "../../lib/fake-indexeddb/index.js"; import {StorageFactory} from "../matrix/storage/idb/StorageFactory"; +import {Storage} from "../matrix/storage/idb/Storage"; import {Instance as nullLogger} from "../logging/NullLogger.js"; +import {openDatabase, CreateObjectStore} from "../matrix/storage/idb/utils"; -export function createMockStorage() { - return new StorageFactory(null, new FDBFactory(), FDBKeyRange).create(1, nullLogger.item); +export function createMockStorage(): Promise { + return new StorageFactory(null as any, new FDBFactory(), FDBKeyRange).create("1", nullLogger.item); +} + +export function createMockDatabase(name: string, createObjectStore: CreateObjectStore, impl: MockIDBImpl): Promise { + return openDatabase(name, createObjectStore, 1, impl.idbFactory); +} + +export class MockIDBImpl { + idbFactory: FDBFactory; + + constructor() { + this.idbFactory = new FDBFactory(); + } + + get IDBKeyRange(): typeof IDBKeyRange { + return FDBKeyRange; + } }