Add TypeScript integrations package
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||
import { DiscoveryDescriptor } from '../../ts/core/index.js';
|
||||
|
||||
tap.test('keeps probes, matchers, and validators inspectable', async () => {
|
||||
const descriptor = new DiscoveryDescriptor({ integrationDomain: 'test', displayName: 'Test' });
|
||||
expect(descriptor.getProbes()).toEqual([]);
|
||||
expect(descriptor.getMatchers()).toEqual([]);
|
||||
expect(descriptor.getValidators()).toEqual([]);
|
||||
});
|
||||
|
||||
export default tap.start();
|
||||
@@ -0,0 +1,10 @@
|
||||
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||
import { createDefaultIntegrationRegistry, DiscoveryEngine } from '../../ts/index.js';
|
||||
|
||||
tap.test('runs active discovery across default integrations', async () => {
|
||||
const engine = new DiscoveryEngine(createDefaultIntegrationRegistry());
|
||||
const candidates = await engine.runActiveDiscovery();
|
||||
expect(candidates.some((candidateArg) => candidateArg.integrationDomain === 'hue')).toBeTrue();
|
||||
});
|
||||
|
||||
export default tap.start();
|
||||
@@ -0,0 +1,13 @@
|
||||
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||
import { generatedHomeAssistantPortCount, handwrittenHomeAssistantPortDomains } from '../../ts/integrations/generated/index.js';
|
||||
import { createDefaultIntegrationRegistry } from '../../ts/index.js';
|
||||
|
||||
tap.test('registers generated native Home Assistant port skeletons', async () => {
|
||||
expect(generatedHomeAssistantPortCount).toBeGreaterThan(1000);
|
||||
expect(handwrittenHomeAssistantPortDomains).toContain('hue');
|
||||
const registry = createDefaultIntegrationRegistry();
|
||||
expect(registry.get('3_day_blinds')).toBeTruthy();
|
||||
expect(registry.get('hue')?.status).toEqual('control-runtime');
|
||||
});
|
||||
|
||||
export default tap.start();
|
||||
Reference in New Issue
Block a user