test: make unsafe test coercion explicit
Move test coercion out of a hidden global and require each test to import the helper so review tools and runtime scripts can see the unsafe boundary. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/// <reference types="bun-types" />
|
||||
import type { PluginInput } from "@opencode-ai/plugin"
|
||||
import { unsafeTestValue } from "../../../test-support/unsafe-test-value"
|
||||
|
||||
export type SessionMessage = {
|
||||
info?: { role?: string }
|
||||
@@ -16,7 +17,7 @@ export function createPluginInput(messages: SessionMessage[]): PluginInput {
|
||||
$: {} as PluginInput["$"],
|
||||
} as PluginInput
|
||||
|
||||
const messagesFunction = testCoerce<PluginInput["client"]["session"]["messages"]>(async () => ({ data: messages }))
|
||||
const messagesFunction = unsafeTestValue<PluginInput["client"]["session"]["messages"]>(async () => ({ data: messages }))
|
||||
pluginInput.client.session.messages = messagesFunction
|
||||
|
||||
return pluginInput
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/// <reference types="bun-types" />
|
||||
import { describe, expect, test } from "bun:test"
|
||||
import { createRalphLoopHook } from "./index"
|
||||
import { unsafeTestValue } from "../../../test-support/unsafe-test-value"
|
||||
|
||||
function createDeferred(): {
|
||||
promise: Promise<void>
|
||||
@@ -44,7 +45,7 @@ describe("ralph-loop reset strategy race condition", () => {
|
||||
const selectSessionDeferred = createDeferred()
|
||||
|
||||
const hook = createRalphLoopHook(
|
||||
testCoerce<Parameters<typeof createRalphLoopHook>[0]>({
|
||||
unsafeTestValue<Parameters<typeof createRalphLoopHook>[0]>({
|
||||
directory: process.cwd(),
|
||||
client: {
|
||||
session: {
|
||||
|
||||
@@ -5,6 +5,7 @@ import { join } from "node:path"
|
||||
import { createRalphLoopHook } from "./index"
|
||||
import { ULTRAWORK_VERIFICATION_PROMISE } from "./constants"
|
||||
import { clearState, writeState } from "./storage"
|
||||
import { unsafeTestValue } from "../../../test-support/unsafe-test-value"
|
||||
|
||||
describe("ulw-loop verification", () => {
|
||||
const testDir = join(tmpdir(), `ulw-loop-verification-${Date.now()}`)
|
||||
@@ -15,7 +16,7 @@ describe("ulw-loop verification", () => {
|
||||
let oracleTranscriptPath: string
|
||||
|
||||
function createMockPluginInput() {
|
||||
return testCoerce<Parameters<typeof createRalphLoopHook>[0]>({
|
||||
return unsafeTestValue<Parameters<typeof createRalphLoopHook>[0]>({
|
||||
client: {
|
||||
session: {
|
||||
promptAsync: async (opts: { path: { id: string }; body: { parts: Array<{ type: string; text: string }> } }) => {
|
||||
|
||||
Reference in New Issue
Block a user