odoo.define("base.abstract_controller_tests", function(require) { "use strict"; var testUtils = require("web.test_utils"); var createView = testUtils.createView; var BasicView = require("web.BasicView"); var BasicRenderer = require("web.BasicRenderer"); function getHtmlRenderer(html) { return BasicRenderer.extend({ start: function() { this.$el.html(html); return this._super.apply(this, arguments); } }); } function getHtmlView(html, viewType) { viewType = viewType || "test"; return BasicView.extend({ viewType: viewType, config: _.extend({}, BasicView.prototype.config, { Renderer: getHtmlRenderer(html) }) }); } QUnit.module( "Views", { beforeEach: function() { this.data = { test_model: { fields: {}, records: [] } }; } }, function() { QUnit.module('AbstractController'); QUnit.test( 'click on a a[type="action"] child triggers the correct action', function(assert) { assert.expect(3); var html = "
" + 'simple' + '' + "child" + "" + "
"; var view = createView({ View: getHtmlView(html, "test"), data: this.data, model: "test_model", arch: "", intercepts: { do_action: function(event) { assert.step(event.data.action); } } }); view.$(".simple").click(); view.$(".with-child span").click(); assert.verifySteps(["a1", "a2"]); } ); } ); });