[IMP] document: added QUnit testcase
note: backport 562d467 from saas-11.2 to 11.0 to add a similar test
related to #26213
This commit is contained in:
committed by
Nicolas Lempereur
parent
9f1534ee8c
commit
80118dd8a2
@@ -0,0 +1,78 @@
|
||||
odoo.define('document.tests', function (require) {
|
||||
"use strict";
|
||||
|
||||
var testUtils = require('web.test_utils');
|
||||
var FormView = require('web.FormView');
|
||||
|
||||
var createView = testUtils.createView;
|
||||
|
||||
QUnit.module('DocumentTest', {
|
||||
beforeEach: function () {
|
||||
this.data = {
|
||||
partner: {
|
||||
fields: {
|
||||
display_name: { string: "Displayed name", type: "char" }
|
||||
},
|
||||
records: [{
|
||||
id: 1,
|
||||
display_name: "first record",
|
||||
}]
|
||||
},
|
||||
'ir.attachment': {
|
||||
fields: {
|
||||
type: { string: "Type", type: "char" },
|
||||
name: {string: "Name", type: "char"},
|
||||
res_id: {string: "ResId", type: "integer"},
|
||||
res_model: {string: "ResModel", type: "char"}
|
||||
},
|
||||
records: [{
|
||||
id: 1,
|
||||
type:"binary",
|
||||
name: "attachment1",
|
||||
res_id: 1,
|
||||
res_model: 'partner'
|
||||
},{
|
||||
id: 2,
|
||||
type:"binary",
|
||||
name: "attachment2",
|
||||
res_id: 1,
|
||||
res_model: 'partner'
|
||||
}]
|
||||
}
|
||||
};
|
||||
}
|
||||
}, function () {
|
||||
QUnit.module('DocView');
|
||||
QUnit.test('documentAttachmentTest', function (assert) {
|
||||
assert.expect(3);
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
model: 'partner',
|
||||
data: this.data,
|
||||
arch: '<form string="Partners">' +
|
||||
'<sheet>' +
|
||||
'<field name="display_name"/>' +
|
||||
'</sheet>' +
|
||||
'</form>',
|
||||
res_id: 1,
|
||||
viewOptions: {sidebar: true},
|
||||
mockRPC: function (route, args) {
|
||||
if (args.method === 'search_read' && args.model === 'ir.attachment') {
|
||||
return $.when(this.data['ir.attachment'].records);
|
||||
}
|
||||
if (route === '/web/dataset/call_kw/ir.attachment/unlink') {
|
||||
assert.strictEqual(args.args[0], 1, "Should have correct id of the attachment to be deleted");
|
||||
}
|
||||
return this._super.apply(this, arguments);
|
||||
}
|
||||
});
|
||||
|
||||
assert.strictEqual(form.sidebar.$('.o_sidebar_delete_attachment').length, 2, "there should be two attachments");
|
||||
form.sidebar.$('.o_sidebar_delete_attachment:eq(0)').click();
|
||||
$('.modal-footer .btn-primary').click();
|
||||
assert.strictEqual(form.sidebar.$('.o_sidebar_delete_attachment').length, 1, "there should be only one attachment");
|
||||
form.destroy();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -5,4 +5,10 @@
|
||||
<script type="text/javascript" src="/document/static/src/js/document.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="qunit_suite" name="document tests" inherit_id="web.qunit_suite">
|
||||
<xpath expr="//script[last()]" position="after">
|
||||
<script type="text/javascript" src="/document/static/tests/document_tests.js"/>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user