diff --git a/gallery/src/data/provide_hass.js b/gallery/src/data/provide_hass.js index 1e59d76223..ffac268707 100644 --- a/gallery/src/data/provide_hass.js +++ b/gallery/src/data/provide_hass.js @@ -10,6 +10,7 @@ export default (elements, { initialStates = {} } = {}) => { elements = ensureArray(elements); const wsCommands = {}; + const restResponses = {}; let hass; const entities = {}; @@ -69,6 +70,14 @@ export default (elements, { initialStates = {} } = {}) => { console.log("sendWS", msg); }, + async callApi(method, path, parameters) { + const callback = restResponses[path]; + + return callback + ? callback(method, path, parameters) + : Promise.reject(`Mock for {path} is not implemented`); + }, + // Mock functions updateHass, updateStates(newStates) { @@ -85,6 +94,12 @@ export default (elements, { initialStates = {} } = {}) => { }); this.updateStates(states); }, + mockWS(type, callback) { + wsCommands[type] = callback; + }, + mockAPI(path, callback) { + restResponses[path] = callback; + }, }); return hass;