diff --git a/src/kibana/components/agg_response/point_series/_ordered_date_axis.js b/src/kibana/components/agg_response/point_series/_ordered_date_axis.js index 15368ed4243e..d5ddfc2ae9db 100644 --- a/src/kibana/components/agg_response/point_series/_ordered_date_axis.js +++ b/src/kibana/components/agg_response/point_series/_ordered_date_axis.js @@ -3,8 +3,7 @@ define(function (require) { var moment = require('moment'); return function orderedDateAxis(vis, chart) { - var aspects = chart.aspects; - var xAgg = aspects.x.agg; + var xAgg = chart.aspects.x.agg; var buckets = xAgg.buckets; var format = buckets.getScaledDateFormat(); @@ -17,9 +16,8 @@ define(function (require) { interval: buckets.getInterval(), }; - var axisOnTimeField = xAgg.fieldName() === xAgg.vis.indexPattern.timeFieldName; + var axisOnTimeField = xAgg.fieldIsTimeField(); var bounds = buckets.getBounds(); - if (bounds && axisOnTimeField) { chart.ordered.min = bounds.min; chart.ordered.max = bounds.max; diff --git a/test/unit/specs/components/agg_response/point_series/_ordered_date_axis.js b/test/unit/specs/components/agg_response/point_series/_ordered_date_axis.js index d36d2fb44f6a..af62f16bda38 100644 --- a/test/unit/specs/components/agg_response/point_series/_ordered_date_axis.js +++ b/test/unit/specs/components/agg_response/point_series/_ordered_date_axis.js @@ -14,6 +14,7 @@ define(function (require) { aspects: { x: { agg: { + fieldIsTimeField: _.constant(true), buckets: { getScaledDateFormat: _.constant('hh:mm:ss'), getInterval: _.constant(moment.duration(15, 'm')), diff --git a/test/unit/specs/components/agg_types/buckets/_date_histogram.js b/test/unit/specs/components/agg_types/buckets/_date_histogram.js index 1061c38afae0..331972c41468 100644 --- a/test/unit/specs/components/agg_types/buckets/_date_histogram.js +++ b/test/unit/specs/components/agg_types/buckets/_date_histogram.js @@ -5,19 +5,27 @@ define(function (require) { describe('params', function () { var paramWriter; + var writeInterval; + var aggTypes; var AggConfig; var setTimeBounds; + var timeField; beforeEach(module('kibana')); beforeEach(inject(function (Private, $injector) { var AggParamWriter = Private(require('test_utils/agg_param_writer')); + var indexPattern = Private(require('fixtures/stubbed_logstash_index_pattern')); var timefilter = $injector.get('timefilter'); + timeField = indexPattern.timeFieldName; aggTypes = Private(require('components/agg_types/index')); AggConfig = Private(require('components/vis/_agg_config')); paramWriter = new AggParamWriter({ aggType: 'date_histogram' }); + writeInterval = function (interval) { + return paramWriter.write({ interval: interval, field: timeField }); + }; var now = moment(); setTimeBounds = function (n, units) { @@ -31,24 +39,24 @@ define(function (require) { describe('interval', function () { it('accepts a valid interval', function () { - var output = paramWriter.write({ interval: 'day' }); + var output = writeInterval('day'); expect(output.params).to.have.property('interval', '1d'); }); it('ignores invalid intervals', function () { - var output = paramWriter.write({ interval: 'foo' }); + var output = writeInterval('foo'); expect(output.params).to.have.property('interval', '0ms'); }); it('automatically picks an interval', function () { setTimeBounds(15, 'minutes'); - var output = paramWriter.write({ interval: 'auto' }); + var output = writeInterval('auto'); expect(output.params.interval).to.be('30s'); }); it('scales up the interval if it will make too many buckets', function () { setTimeBounds(30, 'minutes'); - var output = paramWriter.write({ interval: 'second' }); + var output = writeInterval('second'); expect(output.params.interval).to.be('10s'); expect(output.metricScaleText).to.be('second'); expect(output.metricScale).to.be(0.1); @@ -56,7 +64,7 @@ define(function (require) { it('does not scale down the interval', function () { setTimeBounds(1, 'minutes'); - var output = paramWriter.write({ interval: 'hour' }); + var output = writeInterval('hour'); expect(output.params.interval).to.be('1h'); expect(output.metricScaleText).to.be(undefined); expect(output.metricScale).to.be(undefined); @@ -82,7 +90,7 @@ define(function (require) { var histoConfig = new AggConfig(vis, { type: aggTypes.byName.date_histogram, schema: 'segment', - params: { interval: 'second' } + params: { interval: 'second', field: timeField } }); vis.aggs.push(histoConfig);