Skip to content

Commit 873f1d8

Browse files
committed
write test for richmenu apis
1 parent e637ca4 commit 873f1d8

File tree

2 files changed

+97
-1
lines changed

2 files changed

+97
-1
lines changed

test/client.spec.ts

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,29 @@ describe("client", () => {
1616
after(() => close());
1717

1818
const testMsg: Types.TextMessage = { type: "text", text: "hello" };
19+
const richMenu: Types.RichMenu = {
20+
size: {
21+
width: 2500,
22+
height: 1686,
23+
},
24+
selected: false,
25+
name: "Nice richmenu",
26+
chatBarText: "Tap here",
27+
areas: [
28+
{
29+
bounds: {
30+
x: 0,
31+
y: 0,
32+
width: 2500,
33+
height: 1686,
34+
},
35+
action: {
36+
type: "postback",
37+
data: "action=buy&itemid=123",
38+
},
39+
},
40+
],
41+
};
1942

2043
it("reply", () => {
2144
return client.replyMessage("test_reply_token", testMsg).then((res: any) => {
@@ -143,4 +166,64 @@ describe("client", () => {
143166
equal(res.method, "POST");
144167
});
145168
});
169+
170+
it("getRichMenu", () => {
171+
return client.getRichMenu("test_rich_menu_id").then((res: any) => {
172+
equal(res.headers.authorization, "Bearer test_channel_access_token");
173+
equal(res.path, "/richmenu/test_rich_menu_id");
174+
equal(res.method, "GET");
175+
});
176+
});
177+
178+
it("createRichMenu", () => {
179+
return client.createRichMenu(richMenu).then((res: any) => {
180+
equal(res.headers.authorization, "Bearer test_channel_access_token");
181+
equal(res.path, "/richmenu");
182+
equal(res.method, "POST");
183+
});
184+
});
185+
186+
it("deleteRichMenu", () => {
187+
return client.deleteRichMenu("test_rich_menu_id").then((res: any) => {
188+
equal(res.headers.authorization, "Bearer test_channel_access_token");
189+
equal(res.path, "/richmenu/test_rich_menu_id");
190+
equal(res.method, "DELETE");
191+
});
192+
});
193+
194+
it("getUserRichMenuIds", () => {
195+
return client.getUserRichMenuIds("test_user_id").then((res: any) => {
196+
equal(res.headers.authorization, "Bearer test_channel_access_token");
197+
equal(res.path, "/user/test_user_id/richmenu");
198+
equal(res.method, "GET");
199+
});
200+
});
201+
202+
it("linkRichMenuWithUser", () => {
203+
return client
204+
.linkRichMenuWithUser("test_user_id", "test_rich_menu_id")
205+
.then((res: any) => {
206+
equal(res.headers.authorization, "Bearer test_channel_access_token");
207+
equal(res.path, "/user/test_user_id/richmenu/test_rich_menu_id");
208+
equal(res.method, "POST");
209+
});
210+
});
211+
212+
it("unlinkRichMenuWithUser", () => {
213+
return client
214+
.unlinkRichMenuWithUser("test_user_id", "test_rich_menu_id")
215+
.then((res: any) => {
216+
equal(res.headers.authorization, "Bearer test_channel_access_token");
217+
equal(res.path, "/user/test_user_id/richmenu/test_rich_menu_id");
218+
equal(res.method, "DELETE");
219+
});
220+
});
221+
222+
it("getRichMenuList", () => {
223+
return client.getRichMenuList().then((res: any) => {
224+
equal(res.headers.authorization, "Bearer test_channel_access_token");
225+
equal(res.path, "/richmenu/list");
226+
equal(res.method, "GET");
227+
});
228+
});
146229
});

test/http.spec.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { deepEqual, equal, ok } from "assert";
22
import { HTTPError, JSONParseError, RequestError } from "../lib/exceptions";
3-
import { get, post, stream } from "../lib/http";
3+
import { get, post, stream, delete as deleteRequest } from "../lib/http";
44
import { getStreamData } from "./helpers/stream";
55
import { close, listen } from "./helpers/test-server";
66

@@ -75,6 +75,19 @@ describe("http", () => {
7575
});
7676
});
7777

78+
it("delete", () => {
79+
const testHeaders = {
80+
"test-header-key": "Test-Header-Value",
81+
};
82+
83+
return deleteRequest(`${TEST_URL}/delete`, testHeaders).then((res: any) => {
84+
equal(res.method, "DELETE");
85+
equal(res.path, "/delete");
86+
equal(res.headers["test-header-key"], testHeaders["test-header-key"]);
87+
equal(res.headers["user-agent"], `${pkg.name}/${pkg.version}`);
88+
});
89+
});
90+
7891
it("fail to parse json", () => {
7992
return get(`${TEST_URL}/text`, {})
8093
.then(() => ok(false))

0 commit comments

Comments
 (0)