CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
extensions.test.js72 linesDownload Raw Back to commands
1/**2 * @license3 * Copyright 2025 Google LLC4 * SPDX-License-Identifier: Apache-2.05 */6import { describe, it, expect } from 'vitest';7import { extensionsCommand } from './extensions.js';8import { updateCommand } from './extensions/update.js';9import { disableCommand } from './extensions/disable.js';10import { enableCommand } from './extensions/enable.js';11import { linkCommand } from './extensions/link.js';12import { newCommand } from './extensions/new.js';13import yargs from 'yargs';14describe('extensions command', () => {15    it('should have correct command name', () => {16        expect(extensionsCommand.command).toBe('extensions <command>');17    });18    it('should have a description', () => {19        expect(extensionsCommand.describe).toBe('Manage Qwen Code extensions.');20    });21    it('should require a subcommand', () => {22        const parser = yargs([])23            .command(extensionsCommand)24            .fail(false)25            .locale('en');26        expect(() => parser.parse('extensions')).toThrow();27    });28    it('should register install subcommand', () => {29        const parser = yargs([])30            .command(extensionsCommand)31            .fail(false)32            .locale('en');33        // This should throw as 'install' requires a source argument34        expect(() => parser.parse('extensions install')).toThrow('Not enough non-option arguments');35    });36    it('should register uninstall subcommand', () => {37        const parser = yargs([])38            .command(extensionsCommand)39            .fail(false)40            .locale('en');41        expect(() => parser.parse('extensions uninstall')).toThrow('Not enough non-option arguments');42    });43    it('should register list subcommand', () => {44        const parser = yargs([])45            .command(extensionsCommand)46            .fail(false)47            .locale('en');48        // list doesn't require arguments, so it should not throw49        expect(() => parser.parse('extensions list')).not.toThrow();50    });51    it('should register update subcommand', () => {52        const parser = yargs([]).command(updateCommand).fail(false).locale('en');53        expect(() => parser.parse('update')).toThrow('Either an extension name or --all must be provided');54    });55    it('should register disable subcommand', () => {56        const parser = yargs([]).command(disableCommand).fail(false).locale('en');57        expect(() => parser.parse('disable')).toThrow('Not enough non-option arguments');58    });59    it('should register enable subcommand', () => {60        const parser = yargs([]).command(enableCommand).fail(false).locale('en');61        expect(() => parser.parse('enable')).toThrow('Not enough non-option arguments');62    });63    it('should register link subcommand', () => {64        const parser = yargs([]).command(linkCommand).fail(false).locale('en');65        expect(() => parser.parse('link')).toThrow('Not enough non-option arguments');66    });67    it('should register new subcommand', async () => {68        const parser = yargs([]).command(newCommand).fail(false).locale('en');69        await expect(parser.parseAsync('new')).rejects.toThrow('Not enough non-option arguments');70    });71});72//# sourceMappingURL=extensions.test.js.map
basant307/AI_Governance_Project · CoolFace