[FIX] website: update to new views

The methods overriden were not the correct one anymore.
This commit is contained in:
fwi-odoo
2017-04-11 19:44:38 +02:00
committed by Aaron Bohy
parent e3d1abc75f
commit 36aed81d90
3 changed files with 105 additions and 5 deletions
@@ -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);
@@ -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();
});
});
});
@@ -10,6 +10,12 @@
</xpath>
</template>
<template id="qunit_suite" inherit_id="web.qunit_suite">
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/website/static/tests/website_tests.js"/>
</xpath>
</template>
<template id="assets_frontend" inherit_id="web.assets_frontend" name="Website Assets">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.less"/>