[MERGE] forward port branch 11.0 up to bb6f6c57f9
This commit is contained in:
@@ -4888,6 +4888,48 @@ QUnit.module('basic_fields', {
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.module('FieldProgressBar');
|
||||
|
||||
QUnit.test('Field ProgressBar: max_value should update', function (assert) {
|
||||
assert.expect(2);
|
||||
|
||||
this.data.partner.records = this.data.partner.records.slice(0,1);
|
||||
this.data.partner.records[0].qux = 2;
|
||||
|
||||
this.data.partner.onchanges = {
|
||||
display_name: function (obj) {
|
||||
obj.int_field = 999;
|
||||
obj.qux = 5;
|
||||
}
|
||||
};
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch: '<form>' +
|
||||
'<field name="display_name" />' +
|
||||
'<field name="qux" invisible="1" />' +
|
||||
'<field name="int_field" widget="progressbar" options="{\'current_value\': \'int_field\', \'max_value\': \'qux\'}" />' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
viewOptions: {
|
||||
mode: 'edit',
|
||||
},
|
||||
});
|
||||
|
||||
assert.strictEqual(form.$('.o_progressbar_value').text(), '10 / 2',
|
||||
'The initial value of the progress bar should be correct');
|
||||
|
||||
// trigger the onchange
|
||||
form.$('.o_input[name=display_name]').val('new name').trigger('input');
|
||||
|
||||
assert.strictEqual(form.$('.o_progressbar_value').text(), '999 / 5',
|
||||
'The value of the progress bar should be correct after the update');
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -2733,6 +2733,48 @@ QUnit.module('relational_fields', {
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('x2many default_order multiple fields', function (assert) {
|
||||
assert.expect(7);
|
||||
|
||||
this.data.partner.records = [
|
||||
{int_field: 10, id: 1, display_name: "record1"},
|
||||
{int_field: 12, id: 2, display_name: "record2"},
|
||||
{int_field: 11, id: 3, display_name: "record3"},
|
||||
{int_field: 12, id: 4, display_name: "record4"},
|
||||
{int_field: 10, id: 5, display_name: "record5"},
|
||||
{int_field: 10, id: 6, display_name: "record6"},
|
||||
{int_field: 11, id: 7, display_name: "record7"},
|
||||
];
|
||||
|
||||
this.data.partner.records[0].p = [1, 7, 4, 5, 2, 6, 3];
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch: '<form>' +
|
||||
'<field name="p" >' +
|
||||
'<tree default_order="int_field,id">' +
|
||||
'<field name="id"/>' +
|
||||
'<field name="int_field"/>' +
|
||||
'</tree>' +
|
||||
'</field>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
});
|
||||
|
||||
var $recordList = form.$('.o_field_x2many_list .o_data_row');
|
||||
var expectedOrderId = ['1', '5', '6', '3', '7', '2', '4'];
|
||||
|
||||
_.each($recordList, function(record, index) {
|
||||
var $record = $(record);
|
||||
assert.strictEqual($record.find('.o_data_cell').eq(0).text(), expectedOrderId[index],
|
||||
'The record should be the right place. Index: ' + index);
|
||||
});
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('many2many list add *many* records, remove, re-add', function (assert) {
|
||||
assert.expect(5);
|
||||
|
||||
@@ -2873,6 +2915,41 @@ QUnit.module('relational_fields', {
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('one2many from a model that has been sorted', function (assert) {
|
||||
assert.expect(1);
|
||||
|
||||
/* On a standard list view, sort your records by a field
|
||||
* Click on a record which contains a x2m with multiple records in it
|
||||
* The x2m shouldn't take the orderedBy of the parent record (the one on the form)
|
||||
*/
|
||||
|
||||
this.data.partner.records[0].turtles = [3, 2];
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch:'<form string="Partners">' +
|
||||
'<field name="turtles">' +
|
||||
'<tree>' +
|
||||
'<field name="turtle_foo"/>' +
|
||||
'</tree>' +
|
||||
'</field>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
context: {
|
||||
orderedBy: [{
|
||||
name: 'foo',
|
||||
asc: false,
|
||||
}]
|
||||
},
|
||||
});
|
||||
|
||||
assert.strictEqual(form.$('.o_field_one2many[name=turtles] tbody').text().trim(), "kawablip",
|
||||
'The o2m should not have been sorted.');
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('O2M List with pager, decoration and default_order: add and cancel adding', function (assert) {
|
||||
assert.expect(3);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user