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();
|
|
|
|
});
|
|
|
|
});
|