diff --git a/platform/features/table/src/TableConfiguration.js b/platform/features/table/src/TableConfiguration.js index 371b14b7f1..12f4d46f18 100644 --- a/platform/features/table/src/TableConfiguration.js +++ b/platform/features/table/src/TableConfiguration.js @@ -65,9 +65,8 @@ define( limitEvaluator && limitEvaluator.evaluate(telemetryDatum, metadatum); var value = { - text: formatter ? formatter.format(telemetryDatum[metadatum.key]) - : telemetryDatum[metadatum.key], - value: telemetryDatum[metadatum.key] + text: formatter.format(telemetryDatum), + value: formatter.parse(telemetryDatum) }; if (alarm) { diff --git a/platform/features/table/test/TableConfigurationSpec.js b/platform/features/table/test/TableConfigurationSpec.js index cb2fa1eca3..e5c7c99cda 100644 --- a/platform/features/table/test/TableConfigurationSpec.js +++ b/platform/features/table/test/TableConfigurationSpec.js @@ -30,7 +30,6 @@ define( var mockDomainObject, mockAPI, mockTelemetryAPI, - mockTelemetryFormatter, table, mockModel; @@ -48,21 +47,27 @@ define( }; }); - mockTelemetryFormatter = jasmine.createSpyObj('telemetryFormatter', - [ - 'format' - ]); - mockTelemetryFormatter.format.andCallFake(function (valueIn) { - return valueIn; - }); - mockTelemetryAPI = jasmine.createSpyObj('telemetryAPI', [ 'getValueFormatter' ]); mockAPI = { telemetry: mockTelemetryAPI }; - mockTelemetryAPI.getValueFormatter.andReturn(mockTelemetryFormatter); + mockTelemetryAPI.getValueFormatter.andCallFake(function (metadata) { + var formatter = jasmine.createSpyObj( + 'telemetryFormatter:' + metadata.key, + [ + 'format', + 'parse' + ] + ); + var getter = function (datum) { + return datum[metadata.key]; + }; + formatter.format.andCallFake(getter); + formatter.parse.andCallFake(getter); + return formatter; + }); table = new Table(mockDomainObject, mockAPI); }); @@ -176,10 +181,6 @@ define( expect(rowValues['Range 1'].cssClass).toEqual("alarm-class"); }); - it("Uses telemetry formatter to appropriately format" + - " telemetry values", function () { - expect(mockTelemetryFormatter.format).toHaveBeenCalled(); - }); }); }); }); diff --git a/platform/features/table/test/controllers/TelemetryTableControllerSpec.js b/platform/features/table/test/controllers/TelemetryTableControllerSpec.js index 2bcbe530b5..f55fe58f4a 100644 --- a/platform/features/table/test/controllers/TelemetryTableControllerSpec.js +++ b/platform/features/table/test/controllers/TelemetryTableControllerSpec.js @@ -101,7 +101,21 @@ define( ]); mockTelemetryAPI.commonValuesForHints.andReturn([]); mockTelemetryAPI.request.andReturn(Promise.resolve([])); - + mockTelemetryAPI.getValueFormatter.andCallFake(function (metadata) { + var formatter = jasmine.createSpyObj( + 'telemetryFormatter:' + metadata.key, + [ + 'format', + 'parse' + ] + ); + var getter = function (datum) { + return datum[metadata.key]; + }; + formatter.format.andCallFake(getter); + formatter.parse.andCallFake(getter); + return formatter; + }); mockTelemetryAPI.canProvideTelemetry.andReturn(false);