9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
import { describe, expect, it } from 'vitest';
|
|
import { getRegistry } from '@jackwener/opencli/registry';
|
|
import './ask.js';
|
|
import './new.js';
|
|
import './send.js';
|
|
import './read.js';
|
|
import './status.js';
|
|
import './model.js';
|
|
|
|
describe('chatgpt-app desktop command registration', () => {
|
|
it('registers the baseline desktop chat commands with localhost scope', () => {
|
|
const expectedAccess = {
|
|
ask: 'write',
|
|
send: 'write',
|
|
read: 'read',
|
|
new: 'write',
|
|
status: 'read',
|
|
model: 'read',
|
|
};
|
|
|
|
for (const [name, access] of Object.entries(expectedAccess)) {
|
|
const cmd = getRegistry().get(`chatgpt-app/${name}`);
|
|
expect(cmd, `chatgpt-app/${name}`).toBeDefined();
|
|
expect(cmd.site).toBe('chatgpt-app');
|
|
expect(cmd.domain).toBe('localhost');
|
|
expect(cmd.strategy).toBe('public');
|
|
expect(cmd.browser).toBe(false);
|
|
expect(cmd.access).toBe(access);
|
|
}
|
|
});
|
|
|
|
it('defines the --temp boolean argument in the new command', () => {
|
|
const newCmd = getRegistry().get('chatgpt-app/new');
|
|
expect(newCmd.args).toEqual(expect.arrayContaining([
|
|
expect.objectContaining({ name: 'temp', type: 'boolean', default: false }),
|
|
]));
|
|
});
|
|
|
|
it('defines the --image argument in the ask command', () => {
|
|
const askCmd = getRegistry().get('chatgpt-app/ask');
|
|
expect(askCmd.args).toEqual(expect.arrayContaining([
|
|
expect.objectContaining({ name: 'image', required: false }),
|
|
]));
|
|
});
|
|
});
|