diff options
| author | fwi-odoo <fwi@odoo.com> | 2017-04-06 09:41:48 +0200 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | 36aed81d9035f3b298eb0188ad4bdae9fbb282a8 (patch) | |
| tree | 130f5e6c9deb73f2c601b860058a9ed18329ead5 /addons/website/static | |
| parent | e3d1abc75f5659e2bbd8ec05e5a7ce4a95d8721e (diff) | |
[FIX] website: update to new views
The methods overriden were not the correct one anymore.
Diffstat (limited to 'addons/website/static')
| -rw-r--r-- | addons/website/static/src/js/website.backend.js | 25 | ||||
| -rw-r--r-- | addons/website/static/tests/website_tests.js | 79 |
2 files changed, 99 insertions, 5 deletions
diff --git a/addons/website/static/src/js/website.backend.js b/addons/website/static/src/js/website.backend.js index 6b6f4658ff5..5033d9a690c 100644 --- a/addons/website/static/src/js/website.backend.js +++ b/addons/website/static/src/js/website.backend.js @@ -7,11 +7,29 @@ var field_registry = require('web.field_registry'); var _t = core._t; - var WidgetWebsiteButton = AbstractField.extend({ template: 'WidgetWebsiteButton', - render: function () { + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + isSet: function () { + return true; + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _render: function () { this._super.apply(this, arguments); var $value = this.$('.o_value'); @@ -26,9 +44,6 @@ var WidgetWebsiteButton = AbstractField.extend({ .addClass('text-danger'); } }, - is_set: function () { - return true; - }, }); field_registry.add('website_button', WidgetWebsiteButton); diff --git a/addons/website/static/tests/website_tests.js b/addons/website/static/tests/website_tests.js new file mode 100644 index 00000000000..868e3cc4e8f --- /dev/null +++ b/addons/website/static/tests/website_tests.js @@ -0,0 +1,79 @@ +odoo.define('website.tests', function (require) { +"use strict"; + +var FormView = require('web.FormView'); +var testUtils = require("web.test_utils"); + +var createView = testUtils.createView; + +QUnit.module('website', { + before: function () { + this.data = { + blog_post: { + fields: { + website_published: {string: "Available on the Website", type: "boolean"}, + }, + records: [{ + id: 1, + website_published: false, + }, { + id: 2, + website_published: true, + }] + } + }; + }, +}, function () { + QUnit.test("widget website button: display false value", function (assert) { + assert.expect(2); + + var form = createView({ + View: FormView, + model: 'blog_post', + data: this.data, + arch: + '<form>' + + '<sheet>' + + '<div class="oe_button_box" name="button_box">' + + '<button class="oe_stat_button" name="website_publish_button" type="object" icon="fa-globe">' + + '<field name="website_published" widget="website_button"/>' + + '</button>' + + '</div>' + + '</sheet>' + + '</form>', + res_id: 1, + }); + var selector = '.oe_button_box .oe_stat_button .o_stat_info[name="website_published"] .o_stat_text'; + assert.strictEqual(form.$(selector).length, 2, "there should be two texts displayed"); + selector = '.oe_button_box .oe_stat_button .o_stat_info[name="website_published"] .o_stat_text.o_value.text-danger'; + assert.strictEqual(form.$(selector).length, 1, "there should be one text in red"); + form.destroy(); + }); + QUnit.test("widget website button: display true value", function (assert) { + assert.expect(2); + + var form = createView({ + View: FormView, + model: 'blog_post', + data: this.data, + arch: + '<form>' + + '<sheet>' + + '<div class="oe_button_box" name="button_box">' + + '<button class="oe_stat_button" name="website_publish_button" type="object" icon="fa-globe">' + + '<field name="website_published" widget="website_button"/>' + + '</button>' + + '</div>' + + '</sheet>' + + '</form>', + res_id: 2, + }); + var selector = '.oe_button_box .oe_stat_button .o_stat_info[name="website_published"] .o_stat_text'; + assert.strictEqual(form.$(selector).length, 2, "should be two texts displayed"); + selector = '.oe_button_box .oe_stat_button .o_stat_info[name="website_published"] .o_stat_text.o_value.text-success'; + assert.strictEqual(form.$(selector).length, 1, "there should be one text in green"); + form.destroy(); + }); +}); + +}); |
