Testing App Plugin Initialization and Core Features in Insomnia
This test suite evaluates the initialization and functionality of the app plugin module in Insomnia. It focuses on verifying core application features including clipboard operations, dialog management, and system information retrieval. The tests ensure proper plugin initialization and validate essential application metadata.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
kong/insomnia
packages/insomnia/src/plugins/context/__tests__/app.test.ts
import { describe, expect, it } from 'vitest';
import appPackageJson from '../../../../package.json';
import * as plugin from '../app';
describe('init()', () => {
it('initializes correctly', async () => {
const result = plugin.init();
expect(Object.keys(result)).toEqual(['app', '__private']);
expect(Object.keys(result.app).sort()).toEqual([
'alert',
'clipboard',
'dialog',
'getPath',
'getInfo',
'prompt',
'showGenericModalDialog',
'showSaveDialog',
].sort());
expect(Object.keys(result.app.clipboard).sort()).toEqual([
'clear',
'readText',
'writeText',
].sort());
});
});
describe('app.getInfo()', () => {
it('provides app info', async () => {
const result = plugin.init();
expect(result.app.getInfo()).toEqual({
'version': appPackageJson.version,
'platform': process.platform,
});
});
});