TSRPC_Badminton-Scoreboard/test/api/ApiSend.test.ts

39 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-04-29 06:54:55 +00:00
import assert from "assert";
import { TsrpcError, WsClient } from "tsrpc";
import { serviceProto, ServiceType } from "../../src/shared/protocols/serviceProto";
// 1. EXECUTE `npm run dev` TO START A LOCAL DEV SERVER
// 2. EXECUTE `npm test` TO START UNIT TEST
describe("ApiSend", function (): void {
let client: WsClient<ServiceType> = new WsClient(serviceProto, {
server: "ws://127.0.0.1:3000",
logger: console
});
before(async function (): Promise<void> {
let res: any = await client.connect();
assert.strictEqual(res.isSucc, true, "Failed to connect to server, have you executed `npm run dev` already?");
});
it("Success", async function (): Promise<void> {
2022-04-29 07:12:51 +00:00
let ret: any = await client.callApi("Join", {
2022-04-29 06:54:55 +00:00
content: "Test"
});
2022-04-29 07:12:51 +00:00
assert.ok(ret.isSucc);
2022-04-29 06:54:55 +00:00
});
it("Check content is empty", async function (): Promise<void> {
2022-04-29 07:12:51 +00:00
let ret: any = await client.callApi("Join", {
2022-04-29 06:54:55 +00:00
content: ""
});
assert.deepStrictEqual(ret, {
isSucc: false,
err: new TsrpcError("Content is empty")
});
});
2022-04-29 07:12:51 +00:00
after(async function (): Promise<void> {
2022-04-29 06:54:55 +00:00
await client.disconnect();
});
});