soiz1's picture
Upload 225 files
7aec436 verified
import Cloud from '../../src/scaffolding/cloud';
const cloudManager = () => new Cloud.CloudManager({
vm: {
runtime: {
hasCloudData: () => true
}
}
});
const mockProvider = () => ({
enable: () => {},
handleUpdateVariable: jest.fn()
});
test('CloudManager providers and overrides', () => {
const manager = cloudManager();
const provider1 = mockProvider();
const provider2 = mockProvider();
expect(() => manager.addProviderOverride('test', provider1)).toThrow('Manager is not aware of this provider');
manager.addProvider(provider1);
manager.addProvider(provider2);
manager.updateVariable('test', '123');
expect(provider1.handleUpdateVariable).toHaveBeenCalledTimes(1);
expect(provider2.handleUpdateVariable).toHaveBeenCalledTimes(1);
manager.addProviderOverride('test', provider1);
manager.updateVariable('test', '456');
expect(provider1.handleUpdateVariable).toHaveBeenCalledTimes(2);
expect(provider2.handleUpdateVariable).toHaveBeenCalledTimes(1);
manager.addProviderOverride('test2', null);
manager.updateVariable('test2', '789');
expect(provider1.handleUpdateVariable).toHaveBeenCalledTimes(2);
expect(provider2.handleUpdateVariable).toHaveBeenCalledTimes(1);
});