94 lines
2.1 KiB
TypeScript
94 lines
2.1 KiB
TypeScript
import { describe, expect, test } from "vitest"
|
|
|
|
import { runPreRequestScript } from "~/node"
|
|
|
|
describe("runPreRequestScript", () => {
|
|
test("returns the updated environment properly", () => {
|
|
return expect(
|
|
runPreRequestScript(
|
|
`
|
|
pw.env.set("bob", "newbob")
|
|
`,
|
|
{
|
|
global: [],
|
|
selected: [
|
|
{ key: "bob", value: "oldbob", secret: false },
|
|
{ key: "foo", value: "bar", secret: false },
|
|
],
|
|
}
|
|
)()
|
|
).resolves.toEqualRight({
|
|
global: [],
|
|
selected: [
|
|
{ key: "bob", value: "newbob", secret: false },
|
|
{ key: "foo", value: "bar", secret: false },
|
|
],
|
|
})
|
|
})
|
|
|
|
test("fails if the key is not a string", () => {
|
|
return expect(
|
|
runPreRequestScript(
|
|
`
|
|
pw.env.set(10, "newbob")
|
|
`,
|
|
{
|
|
global: [],
|
|
selected: [
|
|
{ key: "bob", value: "oldbob", secret: false },
|
|
{ key: "foo", value: "bar", secret: false },
|
|
],
|
|
}
|
|
)()
|
|
).resolves.toBeLeft()
|
|
})
|
|
|
|
test("fails if the value is not a string", () => {
|
|
return expect(
|
|
runPreRequestScript(
|
|
`
|
|
pw.env.set("bob", 10)
|
|
`,
|
|
{
|
|
global: [],
|
|
selected: [
|
|
{ key: "bob", value: "oldbob", secret: false },
|
|
{ key: "foo", value: "bar", secret: false },
|
|
],
|
|
}
|
|
)()
|
|
).resolves.toBeLeft()
|
|
})
|
|
|
|
test("fails for invalid syntax", () => {
|
|
return expect(
|
|
runPreRequestScript(
|
|
`
|
|
pw.env.set("bob",
|
|
`,
|
|
{
|
|
global: [],
|
|
selected: [
|
|
{ key: "bob", value: "oldbob", secret: false },
|
|
{ key: "foo", value: "bar", secret: false },
|
|
],
|
|
}
|
|
)()
|
|
).resolves.toBeLeft()
|
|
})
|
|
|
|
test("creates new env variable if doesn't exist", () => {
|
|
return expect(
|
|
runPreRequestScript(
|
|
`
|
|
pw.env.set("foo", "bar")
|
|
`,
|
|
{ selected: [], global: [] }
|
|
)()
|
|
).resolves.toEqualRight({
|
|
global: [],
|
|
selected: [{ key: "foo", value: "bar", secret: false }],
|
|
})
|
|
})
|
|
})
|