summaryrefslogtreecommitdiff
path: root/addons/mail/static/tests/tools/debug_manager_tests.js
blob: 151b89024b6540b86e2af6c517114ceac99d20e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
odoo.define('mail.debugManagerTests', function (require) {
"use strict";

var testUtils = require('web.test_utils');

var createDebugManager = testUtils.createDebugManager;

QUnit.module('Mail DebugManager', {}, function () {

    QUnit.test("Manage Messages", async function (assert) {
        assert.expect(3);

        var debugManager = await createDebugManager({
            intercepts: {
                do_action: function (event) {
                    assert.deepEqual(event.data.action, {
                      context: {
                        default_res_model: "testModel",
                        default_res_id: 5,
                      },
                        res_model: 'mail.message',
                        name: "Manage Messages",
                        views: [[false, 'list'], [false, 'form']],
                        type: 'ir.actions.act_window',
                        domain: [['res_id', '=', 5], ['model', '=', 'testModel']],
                    });
                },
            },
        });

        await debugManager.appendTo($('#qunit-fixture'));

        // Simulate update debug manager from web client
        var action = {
            views: [{
                displayName: "Form",
                fieldsView: {
                    view_id: 1,
                },
                type: "form",
            }],
        };
        var view = {
            viewType: "form",
            getSelectedIds: function () {
                return [5];
            },
            modelName: 'testModel',
        };
        await testUtils.nextTick();
        await debugManager.update('action', action, view);

        var $messageMenu = debugManager.$('a[data-action=getMailMessages]');
        assert.strictEqual($messageMenu.length, 1, "should have Manage Message menu item");
        assert.strictEqual($messageMenu.text().trim(), "Manage Messages",
            "should have correct menu item text");

        await testUtils.dom.click(debugManager.$('> a')); // open dropdown
        await testUtils.dom.click($messageMenu);

        debugManager.destroy();
    });
});
});