(
noteStoreFactory: (
wsRoot: string,
vaults: DVault[],
engine: DEngineClient
) => Promise<INoteStore<string>>
)
| 274 | } |
| 275 | |
| 276 | function stubNoteTest( |
| 277 | noteStoreFactory: ( |
| 278 | wsRoot: string, |
| 279 | vaults: DVault[], |
| 280 | engine: DEngineClient |
| 281 | ) => Promise<INoteStore<string>> |
| 282 | ) { |
| 283 | test("WHEN writing a stub note, THEN get and getMetadata should retrieve same note", async () => { |
| 284 | await runEngineTestV5( |
| 285 | async ({ vaults, wsRoot, engine }) => { |
| 286 | const vault = vaults[0]; |
| 287 | |
| 288 | const noteStore = await noteStoreFactory(wsRoot, vaults, engine); |
| 289 | const newNote = await NoteTestUtilsV4.createNote({ |
| 290 | fname: "foobar", |
| 291 | body: "", |
| 292 | vault, |
| 293 | wsRoot, |
| 294 | stub: true, |
| 295 | }); |
| 296 | |
| 297 | let note = await noteStore.get(newNote.id); |
| 298 | expect(note.data).toBeFalsy(); |
| 299 | await noteStore.write({ key: newNote.id, note: newNote }); |
| 300 | |
| 301 | // Make sure note is not written to filesystem |
| 302 | const vpath = vault2Path({ vault, wsRoot }); |
| 303 | expect(_.includes(fs.readdirSync(vpath), "foobar.md")).toBeFalsy(); |
| 304 | |
| 305 | // Test NoteStore.get |
| 306 | note = await noteStore.get(newNote.id); |
| 307 | expect(note.data!.fname).toEqual(newNote.fname); |
| 308 | expect(note.data!.body.trim()).toEqual(newNote.body.trim()); |
| 309 | expect(note.data!.contentHash).toBeTruthy(); |
| 310 | |
| 311 | // Test NoteStore.getMetadata |
| 312 | const noteMetadata = await noteStore.getMetadata(newNote.id); |
| 313 | expect(noteMetadata.data!.fname).toEqual(newNote.fname); |
| 314 | |
| 315 | // Test NoteStore.findMetadata |
| 316 | let findResp = await noteStore.findMetaData({ fname: "foobar" }); |
| 317 | expect(findResp.data![0].fname).toEqual(newNote.fname); |
| 318 | |
| 319 | // Test NoteStore.findMetadata excludeStub = true |
| 320 | findResp = await noteStore.findMetaData({ |
| 321 | fname: "foobar", |
| 322 | excludeStub: true, |
| 323 | }); |
| 324 | expect(findResp.data!.length).toEqual(0); |
| 325 | |
| 326 | // Test NoteStore.findMetadata excludeStub = false |
| 327 | findResp = await noteStore.findMetaData({ |
| 328 | excludeStub: false, |
| 329 | }); |
| 330 | |
| 331 | expect( |
| 332 | findResp.data!.map((meta) => meta.fname).includes(newNote.fname) |
| 333 | ).toBeTruthy(); |
no test coverage detected