summaryrefslogtreecommitdiff
path: root/packages/backend/test
diff options
context:
space:
mode:
authoranatawa12 <anatawa12@icloud.com>2026-01-08 11:49:12 +0900
committerGitHub <noreply@github.com>2026-01-08 11:49:12 +0900
commit666f78e676e29abd48b351c58270b3f721f03573 (patch)
treee5f661d81c94981c32dfb6c8ea9ed2763b761986 /packages/backend/test
parentchore(deps): update pnpm to v10.27.0 [security] (#17082) (diff)
downloadmisskey-666f78e676e29abd48b351c58270b3f721f03573.tar.gz
misskey-666f78e676e29abd48b351c58270b3f721f03573.tar.bz2
misskey-666f78e676e29abd48b351c58270b3f721f03573.zip
enable and fix no-unused-vars and no-async-promise-executor (#17070)
* dev: set --no-bail for lint task * lint: enable no-async-promise-executor lint and fix them * lint: enable no-unused-vars with allowing _ prefix * lint: fix semi
Diffstat (limited to 'packages/backend/test')
-rw-r--r--packages/backend/test/utils.ts43
1 files changed, 17 insertions, 26 deletions
diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts
index ecca28b5af..f91fb7f9b1 100644
--- a/packages/backend/test/utils.ts
+++ b/packages/backend/test/utils.ts
@@ -404,37 +404,28 @@ export function connectStream<C extends keyof misskey.Channels>(user: UserToken,
}
export const waitFire = async <C extends keyof misskey.Channels>(user: UserToken, channel: C, trgr: () => any, cond: (msg: Record<string, any>) => boolean, params?: misskey.Channels[C]['params']) => {
- return new Promise<boolean>(async (res, rej) => {
- let timer: NodeJS.Timeout | null = null;
+ let ws: WebSocket | undefined;
- let ws: WebSocket;
- try {
- ws = await connectStream(user, channel, msg => {
+ try {
+ let callback: (msg: Record<string, unknown>) => void;
+ const receivedPromise = new Promise<boolean>((resolve) => {
+ callback = (msg: Record<string, unknown>) => {
if (cond(msg)) {
- ws.close();
- if (timer) clearTimeout(timer);
- res(true);
+ resolve(true);
}
- }, params);
- } catch (e) {
- rej(e);
- }
-
- if (!ws!) return;
+ };
+ });
- timer = setTimeout(() => {
- ws.close();
- res(false);
- }, 3000);
+ ws = await connectStream(user, channel, callback!, params);
+ await trgr();
- try {
- await trgr();
- } catch (e) {
- ws.close();
- if (timer) clearTimeout(timer);
- rej(e);
- }
- });
+ return await Promise.race([
+ receivedPromise,
+ new Promise<void>((r) => setTimeout(() => r(), 3000)).then(() => false),
+ ]);
+ } finally {
+ if (ws) ws.close();
+ }
};
/**