aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-test-utils/src/validateLogs.ts
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
commitdd84b9d64fb98746a230cd24233ff50a562c39c9 (patch)
treeb583261ef00b3afe72ec4d6dacb31e57779a6faf /packages/turbo-test-utils/src/validateLogs.ts
parent0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff)
downloadHydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz
HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip
Diffstat (limited to 'packages/turbo-test-utils/src/validateLogs.ts')
-rw-r--r--packages/turbo-test-utils/src/validateLogs.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/turbo-test-utils/src/validateLogs.ts b/packages/turbo-test-utils/src/validateLogs.ts
new file mode 100644
index 0000000..b8e59ac
--- /dev/null
+++ b/packages/turbo-test-utils/src/validateLogs.ts
@@ -0,0 +1,27 @@
+import { SpyConsole } from "./spyConsole";
+
+export default function validateLogs(
+ logs: Array<string | (() => boolean | Array<any>)>,
+ mockConsole: SpyConsole["log"] | SpyConsole["error"],
+ options: { prefix?: string } = {}
+) {
+ logs.forEach((log, idx) => {
+ if (typeof log === "function") {
+ const expected = log();
+ expect(mockConsole).toHaveBeenNthCalledWith(
+ idx + 1,
+ ...(Array.isArray(expected) ? expected : [expected])
+ );
+ } else {
+ if (options.prefix) {
+ expect(mockConsole).toHaveBeenNthCalledWith(
+ idx + 1,
+ options.prefix,
+ log
+ );
+ } else {
+ expect(mockConsole).toHaveBeenNthCalledWith(idx + 1, log);
+ }
+ }
+ });
+}