TSRPC_Badminton-Scoreboard/backend1/test/api/ApiSend.test.ts
2022-05-04 11:13:09 +08:00

39 lines
1.2 KiB
TypeScript

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> {
let ret: any = await client.callApi("Join", {
content: "Test"
});
assert.ok(ret.isSucc);
});
it("Check content is empty", async function (): Promise<void> {
let ret: any = await client.callApi("Join", {
content: ""
});
assert.deepStrictEqual(ret, {
isSucc: false,
err: new TsrpcError("Content is empty")
});
});
after(async function (): Promise<void> {
await client.disconnect();
});
});