20 lines
753 B
TypeScript
20 lines
753 B
TypeScript
import loadProvider from './provider-loader';
|
|
import { ProviderInterface } from './provider-interface';
|
|
|
|
describe('provider-loader', () => {
|
|
it('loads a provider dynamically', async () => {
|
|
const provider: ProviderInterface = await loadProvider('./test', {} as any);
|
|
expect(typeof provider.runTaskInWorkflow).toBe('function');
|
|
});
|
|
|
|
it('throws when provider package is missing', async () => {
|
|
await expect(loadProvider('non-existent-package', {} as any)).rejects.toThrow('non-existent-package');
|
|
});
|
|
|
|
it('throws when provider does not implement ProviderInterface', async () => {
|
|
await expect(loadProvider('./fixtures/invalid-provider', {} as any)).rejects.toThrow(
|
|
'does not implement ProviderInterface',
|
|
);
|
|
});
|
|
});
|