[IMP] document: added QUnit testcase
This commit is contained in:
@@ -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>
|
<script type="text/javascript" src="/document/static/src/js/document.js"></script>
|
||||||
</xpath>
|
</xpath>
|
||||||
</template>
|
</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>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user