odoo.define('web.base_import_tests', function (require) {
"use strict";
var KanbanView = require('web.KanbanView');
var ListView = require('web.ListView');
var testUtils = require('web.test_utils');
var createView = testUtils.createView;
QUnit.module('Base Import Tests', {
beforeEach: function() {
this.data = {
foo: {
fields: {
foo: {string: "Foo", type: "char"},
},
records: [
{id: 1, foo: "yop"},
]
},
};
}
});
QUnit.test('add import button in list', async function(assert) {
assert.expect(2);
var list = await createView({
View: ListView,
model: 'foo',
data: this.data,
arch: '',
});
assert.isVisible(list.$buttons.find('.o_button_import:contains(Import)'),
"should have a visible Import button");
testUtils.mock.intercept(list, 'do_action', function() {
assert.ok(true, "should have triggered a do_action");
});
await testUtils.dom.click(list.$buttons.find('.o_button_import:contains(Import)'));
list.destroy();
});
QUnit.test('list without import button', async function(assert) {
assert.expect(1);
var list = await createView({
View: ListView,
model: 'foo',
data: this.data,
arch: '',
viewOptions: {
import_enabled: false,
}
});
assert.containsNone(list.$buttons, '.o_button_import', 'should not have an Import button');
list.destroy();
});
QUnit.test('add import button in kanban', async function(assert) {
assert.expect(2);
var kanban = await createView({
View: KanbanView,
model: 'foo',
data: this.data,
arch: '' +
'' +
'' +
'
' +
'',
});
assert.isVisible(kanban.$buttons.find('.o_button_import:contains(Import)'),
"should have a visible Import button");
testUtils.mock.intercept(kanban, 'do_action', function() {
assert.ok(true, "should have triggered a do_action");
});
await testUtils.dom.click(kanban.$buttons.find('.o_button_import:contains(Import)'));
kanban.destroy();
});
QUnit.test('kanban without import button', async function(assert) {
assert.expect(1);
var kanban = await createView({
View: KanbanView,
model: 'foo',
data: this.data,
arch: '' +
'' +
'' +
'
' +
'',
viewOptions: {
import_enabled: false,
}
});
assert.containsNone(kanban.$buttons, '.o_button_import', "should not have an Import button");
kanban.destroy();
});
QUnit.test('import attrs in list views', async function (assert) {
assert.expect(1);
var list = await createView({
View: ListView,
model: 'foo',
data: this.data,
arch: '',
});
assert.containsNone(list.$buttons, '.o_button_import');
list.destroy();
});
QUnit.test('import attrs in kanban views', async function (assert) {
assert.expect(1);
var kanban = await createView({
View: KanbanView,
model: 'foo',
data: this.data,
arch: '' +
'' +
'
' +
'' +
'',
});
assert.containsNone(kanban.$buttons, '.o_button_import');
kanban.destroy();
});
});