starting real testing

This commit is contained in:
Jack Case
2025-12-10 15:17:52 +00:00
parent 6212eaa099
commit 55bf600bd7
2 changed files with 36 additions and 6 deletions

View File

@@ -5,3 +5,32 @@ describe("sanity check", () => {
expect(true).toBeTrue()
})
})
describe("SlopDB Version 1", () => {
beforeEach(async () => {
const request = window.indexedDB.deleteDatabase("SlopDB")
const deletePromise = new Promise((resolve, reject) => {
request.onsuccess = () => {resolve()}
request.onerror = (err) => {
reject(err)
}
})
return deletePromise
})
it("creates a version 1 indexeddb", async () => {
const slopdb_v1 = new SlopDB(1)
await slopdb_v1.db_opened()
expect(slopdb_v1.db).toBeDefined()
const transaction = slopdb_v1.start_transaction("slop", "readonly")
expect(transaction).toBeDefined()
try {
const bad_transaction = slopdb_v1.start_transaction("checkcache", "readonly")
} catch (error) {
expect(error.name).toBe("NotFoundError")
}
})
})

View File

@@ -34,15 +34,15 @@ export class IDBCursorValueIterator {
export class SlopDB {
open_promise: Promise<IDBDatabase>
db: IDBDatabase
constructor(idb_version: number) {
this.open_database(idb_version).then((db) => {
this.db = db
}).catch((err) => {
console.log(err)
throw err
})
this.open_promise = this.open_database(idb_version)
}
async db_opened() {
this.db = await this.open_promise
}
apply_db_upgrade(db: IDBDatabase, idb_version: number) {
@@ -89,6 +89,7 @@ export class SlopDB {
start_transaction(storeNames: string | Array<string>, mode: IDBTransactionMode, options: IDBTransactionOptions = undefined): IDBTransaction {
return this.db.transaction(storeNames, mode, options)
}
}
export class CheckCache {