|
|
@@ -697,6 +697,19 @@ describe.skipIf(!existsSync(dshBin))('dsh BUILT bin (node lib/bin.js, no tsx)',
|
|
|
expect(stdout).toContain("name: '@deepseek-ai/dsh-host-webserver'")
|
|
|
}, 30_000)
|
|
|
|
|
|
+ it('prints the headless profile without Host or browser layers', async () => {
|
|
|
+ const { stdout, code, stderr } = await runBuiltBin(
|
|
|
+ ['--profile', 'headless', '--dump-default-config'],
|
|
|
+ { DSH_HOME: home },
|
|
|
+ )
|
|
|
+ expect(code).toBe(0)
|
|
|
+ expect(stderr).toBe('')
|
|
|
+ expect(stdout).toContain("name: '@deepseek-ai/dsh-headless'")
|
|
|
+ expect(stdout).not.toMatch(/name: '@deepseek-ai\/dsh-host-/)
|
|
|
+ expect(stdout).not.toContain("name: '@deepseek-ai/dsh-web-app'")
|
|
|
+ expect(stdout).not.toMatch(/name: '@deepseek-ai\/dsh-client-/)
|
|
|
+ }, 30_000)
|
|
|
+
|
|
|
it('composes the profile user layer and a --patch overlay in order', async () => {
|
|
|
// Auto-init the web profile first, then write its user layer.
|
|
|
const init = await runBuiltBin(['--profile', 'web', '--dump-default-config'], { DSH_HOME: home })
|