From 594e264eeab51342541464057d05c309a007d2ec Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 3 Jun 2025 19:21:02 +0300 Subject: [PATCH] test(etapi): port delete-note-with-all-branches --- .../delete-note-with-all-branches.http | 126 ------------------ .../server/spec/etapi/delete-entities.spec.ts | 24 ++++ 2 files changed, 24 insertions(+), 126 deletions(-) delete mode 100644 _regroup/test-etapi/delete-note-with-all-branches.http diff --git a/_regroup/test-etapi/delete-note-with-all-branches.http b/_regroup/test-etapi/delete-note-with-all-branches.http deleted file mode 100644 index 5a50bc4a9..000000000 --- a/_regroup/test-etapi/delete-note-with-all-branches.http +++ /dev/null @@ -1,126 +0,0 @@ -POST {{triliumHost}}/etapi/create-note -Authorization: {{authToken}} -Content-Type: application/json - -{ - "parentNoteId": "root", - "title": "Hello", - "type": "text", - "content": "Hi there!" -} - -> {% - client.global.set("createdNoteId", response.body.note.noteId); - client.global.set("createdBranchId", response.body.branch.branchId); -%} - -### - -POST {{triliumHost}}/etapi/attributes -Authorization: {{authToken}} -Content-Type: application/json - -{ - "noteId": "{{createdNoteId}}", - "type": "label", - "name": "mylabel", - "value": "val", - "isInheritable": true -} - -> {% client.global.set("createdAttributeId", response.body.attributeId); %} - -### Clone to another location - -POST {{triliumHost}}/etapi/branches -Authorization: {{authToken}} -Content-Type: application/json - -{ - "noteId": "{{createdNoteId}}", - "parentNoteId": "_hidden" -} - -> {% client.global.set("clonedBranchId", response.body.branchId); %} - -### - -GET {{triliumHost}}/etapi/notes/{{createdNoteId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 200); %} - -### - -GET {{triliumHost}}/etapi/branches/{{createdBranchId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 200); %} - -### - -GET {{triliumHost}}/etapi/branches/{{clonedBranchId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 200); %} - -### - -GET {{triliumHost}}/etapi/attributes/{{createdAttributeId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 200); %} - -### - -DELETE {{triliumHost}}/etapi/notes/{{createdNoteId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 204, "Response status is not 204"); %} - -### repeat the DELETE request to test the idempotency - -DELETE {{triliumHost}}/etapi/notes/{{createdNoteId}} -Authorization: {{authToken}} - -> {% client.assert(response.status === 204, "Response status is not 204"); %} - -### - -GET {{triliumHost}}/etapi/branches/{{createdBranchId}} -Authorization: {{authToken}} - -> {% - client.assert(response.status === 404, "Response status is not 404"); - client.assert(response.body.code === "BRANCH_NOT_FOUND"); -%} - -### - -GET {{triliumHost}}/etapi/branches/{{clonedBranchId}} -Authorization: {{authToken}} - -> {% - client.assert(response.status === 404, "Response status is not 404"); - client.assert(response.body.code == "BRANCH_NOT_FOUND"); -%} - -### - -GET {{triliumHost}}/etapi/notes/{{createdNoteId}} -Authorization: {{authToken}} - -> {% - client.assert(response.status === 404, "Response status is not 404"); - client.assert(response.body.code === "NOTE_NOT_FOUND"); -%} - -### - -GET {{triliumHost}}/etapi/attributes/{{createdAttributeId}} -Authorization: {{authToken}} - -> {% - client.assert(response.status === 404, "Response status is not 404"); - client.assert(response.body.code === "ATTRIBUTE_NOT_FOUND"); -%} diff --git a/apps/server/spec/etapi/delete-entities.spec.ts b/apps/server/spec/etapi/delete-entities.spec.ts index 409048182..94bcbbb71 100644 --- a/apps/server/spec/etapi/delete-entities.spec.ts +++ b/apps/server/spec/etapi/delete-entities.spec.ts @@ -56,6 +56,30 @@ describe("etapi/delete-entities", () => { expectFound("branches", clonedBranchId); expectFound("notes", createdNoteId); }); + + it("deletes note with all branches", async () => { + const attributeId = await createAttribute(); + + const response = await supertest(app) + .post("/etapi/branches") + .auth(USER, token, { "type": "basic"}) + .send({ + noteId: createdNoteId, + parentNoteId: "_hidden" + }); + const clonedBranchId = response.body.branchId; + + expectFound("notes", createdNoteId); + expectFound("branches", createdBranchId); + expectFound("branches", clonedBranchId); + expectFound("attributes", attributeId); + deleteEntity("notes", createdNoteId); + + expectNotFound("branches", createdBranchId); + expectNotFound("branches", clonedBranchId); + expectNotFound("notes", createdNoteId); + expectNotFound("attributes", attributeId); + }); }); async function createNote() {