From 9ba852f2083291bee0c7aa3627c5e9947a2e5c53 Mon Sep 17 00:00:00 2001 From: Tomoya Otake Date: Wed, 6 Nov 2024 13:44:52 +0900 Subject: [PATCH 1/3] Fix api tests --- packages/api/src/index.test.ts | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/packages/api/src/index.test.ts b/packages/api/src/index.test.ts index 8861f47..c10b402 100644 --- a/packages/api/src/index.test.ts +++ b/packages/api/src/index.test.ts @@ -83,7 +83,7 @@ describe("Test GET /awesome/random", () => { }); }); -describe("Test GET /awesome/random", () => { +describe("Test GET /awesome/:id", () => { test("Should return 200 response", async () => { const res = await app.request("/awesome/1"); expect(res.status).toBe(200); @@ -153,18 +153,4 @@ meta = """ """ `); }); - - test("Should return 404 error response if entry not found", async () => { - const res = await app.request("/awesome/0"); - expect(res.status).toBe(404); - expect(await res.json()).toStrictEqual({ errors: ["not found"] }); - }); - - test("Should return 404 error response if params is not number", async () => { - const res = await app.request("/awesome/id"); - expect(res.status).toBe(404); - expect(await res.json()).toMatchObject({ - errors: [{ type: "safe_integer" }], - }); - }); }); From 4de70d12917a04e475e6c90d21c3668096628310 Mon Sep 17 00:00:00 2001 From: Tomoya Otake Date: Wed, 6 Nov 2024 13:47:23 +0900 Subject: [PATCH 2/3] Fix test for date --- packages/api/src/index.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/api/src/index.test.ts b/packages/api/src/index.test.ts index c10b402..bca9837 100644 --- a/packages/api/src/index.test.ts +++ b/packages/api/src/index.test.ts @@ -137,11 +137,12 @@ describe("Test POST /awesome/from-slack-text", () => { yasuhara`, }); const parsed = await res.text(); + const today = new Date().toISOString().split("T").at(0); const [header, id, ...rest] = parsed.split("\n"); expect(header).toStrictEqual("[[yasunori]]"); expect(id).toMatch("id = "); // いまのテスト環境だとidが変化するため値のテストはできない expect(rest.join("\n")).toStrictEqual(`title = "えっ、yasunori 知らないの?" -date = "2024-11-02" +date = "${today}" at = "vim-jp #times-yasunori" senpan = "tomoya" content = """ From 3b531415640c6dd86265ec3ae87cd366f461474f Mon Sep 17 00:00:00 2001 From: Tomoya Otake Date: Wed, 6 Nov 2024 13:50:03 +0900 Subject: [PATCH 3/3] POST /awesome/from-slack-text retruns blank template --- packages/api/src/index.test.ts | 21 +++++++++++++++++++++ packages/api/src/index.ts | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/api/src/index.test.ts b/packages/api/src/index.test.ts index bca9837..09977b6 100644 --- a/packages/api/src/index.test.ts +++ b/packages/api/src/index.test.ts @@ -149,6 +149,27 @@ content = """ えっ、yasunori 知らないの? ↑ yasuhara +""" +meta = """ +""" +`); + }); + + test("Should return blank YA toml response", async () => { + const res = await app.request("/awesome/from-slack-text", { + method: "POST", + }); + const parsed = await res.text(); + const today = new Date().toISOString().split("T").at(0); + const [header, id, ...rest] = parsed.split("\n"); + expect(header).toStrictEqual("[[yasunori]]"); + expect(id).toMatch("id = "); // いまのテスト環境だとidが変化するため値のテストはできない + expect(rest.join("\n")).toStrictEqual(`title = "" +date = "${today}" +at = "vim-jp #times-yasunori" +senpan = "" +content = """ + """ meta = """ """ diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index d8f0cc5..b8f6ae5 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -69,9 +69,9 @@ const route = app } const id = latestEntry.id + 1; const lines = slackText.split("\n"); - const [senpan, , title, ...restContents] = lines; + const [senpan, , title = "", ...restContents] = lines; const date = new Date().toISOString().split("T").at(0); - const content = `${title}\n${restContents.join("\n")}`; + const content = title ? `${title}\n${restContents.join("\n")}` : ""; const tomlString = `[[yasunori]]\nid = ${id}\ntitle = "${title}"\ndate = "${date}"\nat = "vim-jp #times-yasunori"\nsenpan = "${senpan}"\ncontent = """\n${content}\n"""\nmeta = """\n"""\n`; return c.text(tomlString); })