Skip to content

Commit 75974db

Browse files
committed
chore: test keyPath
1 parent 311625b commit 75974db

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

tests/library/browsercontext-storage-state.spec.ts

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,19 @@ it('should round-trip through the file', async ({ contextFactory }, testInfo) =>
9090
await new Promise((resolve, reject) => {
9191
const openRequest = indexedDB.open('db', 42);
9292
openRequest.onupgradeneeded = () => {
93-
openRequest.result.createObjectStore('store');
94-
93+
openRequest.result.createObjectStore('store', { keyPath: 'name' });
94+
openRequest.result.createObjectStore('store2');
9595
};
9696
openRequest.onsuccess = () => {
97-
const request = openRequest.result.transaction('store', 'readwrite')
97+
const transaction = openRequest.result.transaction(['store', 'store2'], 'readwrite');
98+
transaction
9899
.objectStore('store')
99-
.put('foo', 'bar');
100-
request.addEventListener('success', resolve);
101-
request.addEventListener('error', reject);
100+
.put({ name: 'foo', date: new Date(0) });
101+
transaction
102+
.objectStore('store2')
103+
.put('bar', 'foo');
104+
transaction.addEventListener('complete', resolve);
105+
transaction.addEventListener('error', reject);
102106
};
103107
});
104108

@@ -120,18 +124,25 @@ it('should round-trip through the file', async ({ contextFactory }, testInfo) =>
120124
expect(localStorage).toEqual({ name1: 'value1' });
121125
const cookie = await page2.evaluate('document.cookie');
122126
expect(cookie).toEqual('username=John Doe');
123-
const idbValue = await page2.evaluate(() => new Promise<string>((resolve, reject) => {
127+
const idbValues = await page2.evaluate(() => new Promise((resolve, reject) => {
124128
const openRequest = indexedDB.open('db', 42);
125129
openRequest.addEventListener('success', () => {
126130
const db = openRequest.result;
127-
const transaction = db.transaction('store', 'readonly');
128-
const getRequest = transaction.objectStore('store').get('bar');
129-
getRequest.addEventListener('success', () => resolve(getRequest.result));
130-
getRequest.addEventListener('error', () => reject(getRequest.error));
131+
const transaction = db.transaction(['store', 'store2'], 'readonly');
132+
const request1 = transaction.objectStore('store').get('foo');
133+
const request2 = transaction.objectStore('store2').get('foo');
134+
135+
Promise.all([request1, request2].map(request => new Promise((resolve, reject) => {
136+
request.addEventListener('success', () => resolve(request.result));
137+
request.addEventListener('error', () => reject(request.error));
138+
}))).then(resolve, reject);
131139
});
132140
openRequest.addEventListener('error', () => reject(openRequest.error));
133141
}));
134-
expect(idbValue).toEqual('foo');
142+
expect(idbValues).toEqual([
143+
{ name: 'foo', date: new Date(0) },
144+
'bar'
145+
]);
135146
await context2.close();
136147
});
137148

0 commit comments

Comments
 (0)