mirror of
https://github.com/moltbot/moltbot.git
synced 2026-03-30 01:06:11 +00:00
test: Add tests for headless/noSandbox profile preference
Cover all cases requested in review: 1. headless=true → defaultProfile = 'openclaw' 2. noSandbox=true → defaultProfile = 'openclaw' 3. both false → defaultProfile = 'chrome' (existing behavior) 4. explicit defaultProfile config overrides preference logic 5. custom profiles work in headless mode Fixes: #14895
This commit is contained in:
committed by
Peter Steinberger
parent
3e3b49cb94
commit
d03928bb69
@@ -198,4 +198,64 @@ describe("browser config", () => {
|
||||
});
|
||||
expect(resolved.ssrfPolicy).toEqual({});
|
||||
});
|
||||
|
||||
// Tests for headless/noSandbox profile preference (issue #14895)
|
||||
describe("headless/noSandbox profile preference", () => {
|
||||
it("defaults to chrome profile when headless=false and noSandbox=false", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
headless: false,
|
||||
noSandbox: false,
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("chrome");
|
||||
});
|
||||
|
||||
it("prefers openclaw profile when headless=true", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
headless: true,
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("openclaw");
|
||||
});
|
||||
|
||||
it("prefers openclaw profile when noSandbox=true", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
noSandbox: true,
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("openclaw");
|
||||
});
|
||||
|
||||
it("prefers openclaw profile when both headless and noSandbox are true", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
headless: true,
|
||||
noSandbox: true,
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("openclaw");
|
||||
});
|
||||
|
||||
it("explicit defaultProfile config overrides headless preference", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
headless: true,
|
||||
defaultProfile: "chrome",
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("chrome");
|
||||
});
|
||||
|
||||
it("explicit defaultProfile config overrides noSandbox preference", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
noSandbox: true,
|
||||
defaultProfile: "chrome",
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("chrome");
|
||||
});
|
||||
|
||||
it("allows custom profile as default even in headless mode", () => {
|
||||
const resolved = resolveBrowserConfig({
|
||||
headless: true,
|
||||
defaultProfile: "custom",
|
||||
profiles: {
|
||||
custom: { cdpPort: 19999, color: "#00FF00" },
|
||||
},
|
||||
});
|
||||
expect(resolved.defaultProfile).toBe("custom");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user