Spaces:
Sleeping
Sleeping
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); | |
}); | |