TemplateSrv: Add test case for SafeSerializableSceneObject (#90808)

* TemplateSrv: Add test case for SafeSerializableSceneObject

* Update dashboard data source to use scoped vars scene object valueOf
This commit is contained in:
Dominik Prokop
2024-08-01 09:38:15 +02:00
committed by GitHub
parent 9e3fd443f2
commit 14c4bb6f87
@@ -7,6 +7,7 @@ import {
EmbeddedScene,
IntervalVariable,
QueryVariable,
SafeSerializableSceneObject,
SceneCanvasText,
SceneVariableSet,
TestVariable,
@@ -844,6 +845,16 @@ describe('templateSrv', () => {
expect(interpolateMock.mock.calls[0][1]).toEqual('test ${test}');
});
it('should use scene interpolator when scoped var provided via SafeSerializableSceneObject', () => {
const variable = new TestVariable({});
const serializable = new SafeSerializableSceneObject(variable);
_templateSrv.replace('test ${test}', { __sceneObject: serializable });
expect(interpolateMock).toHaveBeenCalledTimes(1);
expect(interpolateMock.mock.calls[0][0]).toEqual(variable);
expect(interpolateMock.mock.calls[0][1]).toEqual('test ${test}');
});
it('should use scene interpolator global __grafanaSceneContext is active', () => {
window.__grafanaSceneContext = new EmbeddedScene({
$variables: new SceneVariableSet({