diff --git a/addons/web_kanban_gauge/static/src/js/kanban_gauge.js b/addons/web_kanban_gauge/static/src/js/kanban_gauge.js index 84f5ada2f85..93dc6d746f0 100644 --- a/addons/web_kanban_gauge/static/src/js/kanban_gauge.js +++ b/addons/web_kanban_gauge/static/src/js/kanban_gauge.js @@ -6,7 +6,7 @@ var field_registry = require('web.field_registry'); var utils = require('web.utils'); /** - * Kanban widgets: GaugeWidget + * Field widget: GaugeWidget * options * - max_value: maximum value of the gauge [default: 100] * - max_field: get the max_value from the field that must be present in the @@ -26,7 +26,15 @@ var utils = require('web.utils'); var GaugeWidget = AbstractField.extend({ className: "oe_gauge", - render: function() { + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _render: function () { // parameters var max_value = this.nodeOptions.max_value || 100; if (this.nodeOptions.max_field) { @@ -124,4 +132,6 @@ var GaugeWidget = AbstractField.extend({ field_registry.add("gauge", GaugeWidget); +return GaugeWidget; + }); diff --git a/addons/web_kanban_gauge/static/tests/gauge_tests.js b/addons/web_kanban_gauge/static/tests/gauge_tests.js new file mode 100644 index 00000000000..e494d5391e5 --- /dev/null +++ b/addons/web_kanban_gauge/static/tests/gauge_tests.js @@ -0,0 +1,49 @@ +odoo.define('web_kanban_gauge.gauge_tests', function (require) { +"use strict"; + +var KanbanView = require('web.KanbanView'); +var testUtils = require('web.test_utils'); + +var createView = testUtils.createView; + +QUnit.module('fields', {}, function () { + +QUnit.module('basic_fields', { + beforeEach: function () { + this.data = { + partner: { + fields: { + int_field: {string: "int_field", type: "integer", sortable: true}, + }, + records: [ + {id: 1, int_field: 10}, + {id: 2, int_field: 4}, + ] + }, + }; + } +}, function () { + + QUnit.module('gauge widget'); + + QUnit.test('basic rendering', function (assert) { + assert.expect(1); + + var kanban = createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: '' + + '
' + + '
', + }); + + assert.strictEqual(kanban.$('.o_kanban_record:first .oe_gauge svg').length, 1, + "should render the gauge widget"); + + kanban.destroy(); + }); + +}); +}); +}); diff --git a/addons/web_kanban_gauge/views/web_kanban_gauge_templates.xml b/addons/web_kanban_gauge/views/web_kanban_gauge_templates.xml index 93ac6cf2653..fbba1de789b 100644 --- a/addons/web_kanban_gauge/views/web_kanban_gauge_templates.xml +++ b/addons/web_kanban_gauge/views/web_kanban_gauge_templates.xml @@ -5,4 +5,10 @@ + +