diff options
| author | Kirti Choudhary <kic@odoo.com> | 2017-10-19 16:58:06 +0200 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2017-10-19 16:58:06 +0200 |
| commit | 562d467b5222d5b7bbb47ade9f92935d29269ca4 (patch) | |
| tree | c14077c67f5d8084b48b41175f3d4c6115ded278 /addons/document/static | |
| parent | 21864f7b433f2912ccc124795674103e9ca0241c (diff) | |
[IMP] document: added QUnit testcase
Diffstat (limited to 'addons/document/static')
| -rw-r--r-- | addons/document/static/tests/document_tests.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/addons/document/static/tests/document_tests.js b/addons/document/static/tests/document_tests.js new file mode 100644 index 00000000000..9fd1e7d25ae --- /dev/null +++ b/addons/document/static/tests/document_tests.js @@ -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(); + }); + }); +}); |
