mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	enable jasmine test runs
This commit is contained in:
		
							
								
								
									
										107
									
								
								spec/etapi/notes.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								spec/etapi/notes.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| import crypto = require("crypto"); | ||||
| import etapi = require("../support/etapi"); | ||||
|  | ||||
| etapi.describeEtapi("notes", () => { | ||||
|   it("create", async () => { | ||||
|     const { note, branch } = await etapi.postEtapi("create-note", { | ||||
|       parentNoteId: "root", | ||||
|       type: "text", | ||||
|       title: "Hello World!", | ||||
|       content: "Content", | ||||
|       prefix: "Custom prefix", | ||||
|     }); | ||||
|  | ||||
|     expect(note.title).toEqual("Hello World!"); | ||||
|     expect(branch.parentNoteId).toEqual("root"); | ||||
|     expect(branch.prefix).toEqual("Custom prefix"); | ||||
|  | ||||
|     const rNote = await etapi.getEtapi(`notes/${note.noteId}`); | ||||
|     expect(rNote.title).toEqual("Hello World!"); | ||||
|  | ||||
|     const rContent = await ( | ||||
|       await etapi.getEtapiContent(`notes/${note.noteId}/content`) | ||||
|     ).text(); | ||||
|     expect(rContent).toEqual("Content"); | ||||
|  | ||||
|     const rBranch = await etapi.getEtapi(`branches/${branch.branchId}`); | ||||
|     expect(rBranch.parentNoteId).toEqual("root"); | ||||
|     expect(rBranch.prefix).toEqual("Custom prefix"); | ||||
|   }); | ||||
|  | ||||
|   it("patch", async () => { | ||||
|     const { note } = await etapi.postEtapi("create-note", { | ||||
|       parentNoteId: "root", | ||||
|       type: "text", | ||||
|       title: "Hello World!", | ||||
|       content: "Content", | ||||
|     }); | ||||
|  | ||||
|     await etapi.patchEtapi(`notes/${note.noteId}`, { | ||||
|       title: "new title", | ||||
|       type: "code", | ||||
|       mime: "text/apl", | ||||
|       dateCreated: "2000-01-01 12:34:56.999+0200", | ||||
|       utcDateCreated: "2000-01-01 10:34:56.999Z", | ||||
|     }); | ||||
|  | ||||
|     const rNote = await etapi.getEtapi(`notes/${note.noteId}`); | ||||
|     expect(rNote.title).toEqual("new title"); | ||||
|     expect(rNote.type).toEqual("code"); | ||||
|     expect(rNote.mime).toEqual("text/apl"); | ||||
|     expect(rNote.dateCreated).toEqual("2000-01-01 12:34:56.999+0200"); | ||||
|     expect(rNote.utcDateCreated).toEqual("2000-01-01 10:34:56.999Z"); | ||||
|   }); | ||||
|  | ||||
|   it("update content", async () => { | ||||
|     const { note } = await etapi.postEtapi("create-note", { | ||||
|       parentNoteId: "root", | ||||
|       type: "text", | ||||
|       title: "Hello World!", | ||||
|       content: "Content", | ||||
|     }); | ||||
|  | ||||
|     await etapi.putEtapiContent(`notes/${note.noteId}/content`, "new content"); | ||||
|  | ||||
|     const rContent = await ( | ||||
|       await etapi.getEtapiContent(`notes/${note.noteId}/content`) | ||||
|     ).text(); | ||||
|     expect(rContent).toEqual("new content"); | ||||
|   }); | ||||
|  | ||||
|   it("create / update binary content", async () => { | ||||
|     const { note } = await etapi.postEtapi("create-note", { | ||||
|       parentNoteId: "root", | ||||
|       type: "file", | ||||
|       title: "Hello World!", | ||||
|       content: "ZZZ", | ||||
|     }); | ||||
|  | ||||
|     const updatedContent = crypto.randomBytes(16); | ||||
|  | ||||
|     await etapi.putEtapiContent(`notes/${note.noteId}/content`, updatedContent); | ||||
|  | ||||
|     const rContent = await ( | ||||
|       await etapi.getEtapiContent(`notes/${note.noteId}/content`) | ||||
|     ).arrayBuffer(); | ||||
|     expect(Buffer.from(new Uint8Array(rContent))).toEqual(updatedContent); | ||||
|   }); | ||||
|  | ||||
|   it("delete note", async () => { | ||||
|     const { note } = await etapi.postEtapi("create-note", { | ||||
|       parentNoteId: "root", | ||||
|       type: "text", | ||||
|       title: "Hello World!", | ||||
|       content: "Content", | ||||
|     }); | ||||
|  | ||||
|     await etapi.deleteEtapi(`notes/${note.noteId}`); | ||||
|  | ||||
|     const resp = await etapi.getEtapiResponse(`notes/${note.noteId}`); | ||||
|     expect(resp.status).toEqual(404); | ||||
|  | ||||
|     const error = await resp.json(); | ||||
|     expect(error.status).toEqual(404); | ||||
|     expect(error.code).toEqual("NOTE_NOT_FOUND"); | ||||
|     expect(error.message).toEqual(`Note '${note.noteId}' not found.`); | ||||
|   }); | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user