Skip to content

Commit 91962ce

Browse files
committed
Perfect test units
1 parent 93cc3de commit 91962ce

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/database/merge-rule-database.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class MergeRuleDatabase extends BaseDatabase {
6060
}
6161

6262
async importData(data: any): Promise<void> {
63-
const toMigrate = data[DB_KEY]
63+
const toMigrate = data?.[DB_KEY]
6464
if (!toMigrate) return
6565
const exist = await this.refresh()
6666
const valueTypes = ['string', 'number']

test/database/merge-rule-database.test.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,29 @@ describe('merge-rule-database.test', () => {
2626
expect(list.length).toEqual(1)
2727
expect(list[0]).toEqual(HostMergeRuleItem.of('3', ''))
2828
})
29+
30+
test("importData", async () => {
31+
await db.add(
32+
HostMergeRuleItem.of("www.baidu.com", 2),
33+
HostMergeRuleItem.of("www.google.com", "google.com")
34+
)
35+
const data2Import = await db.storage.get()
36+
data2Import.foo = "bar"
37+
await storage.local.clear()
38+
expect(await db.selectAll()).toEqual([])
39+
40+
await db.importData(data2Import)
41+
const imported: HostMergeRuleItem[] = await db.selectAll()
42+
expect(imported).toEqual([
43+
{ origin: "www.baidu.com", merged: 2 },
44+
{ origin: "www.google.com", merged: "google.com" }
45+
])
46+
})
47+
48+
test("importData2", async () => {
49+
await db.importData(undefined)
50+
expect(await db.selectAll()).toEqual([])
51+
await db.importData({ foo: "bar" })
52+
expect(await db.selectAll()).toEqual([])
53+
})
2954
})

0 commit comments

Comments
 (0)