diff options
Diffstat (limited to 'addons/mail/static/src/components/activity/activity_tests.js')
| -rw-r--r-- | addons/mail/static/src/components/activity/activity_tests.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/addons/mail/static/src/components/activity/activity_tests.js b/addons/mail/static/src/components/activity/activity_tests.js index 7c9b33ce385..dce0969159d 100644 --- a/addons/mail/static/src/components/activity/activity_tests.js +++ b/addons/mail/static/src/components/activity/activity_tests.js @@ -1069,6 +1069,54 @@ QUnit.test('activity mark done popover click on discard', async function (assert ); }); +QUnit.test('data-oe-id & data-oe-model link redirection on click', async function (assert) { + assert.expect(7); + + const bus = new Bus(); + bus.on('do-action', null, payload => { + assert.strictEqual( + payload.action.type, + 'ir.actions.act_window', + "action should open view" + ); + assert.strictEqual( + payload.action.res_model, + 'some.model', + "action should open view on 'some.model' model" + ); + assert.strictEqual( + payload.action.res_id, + 250, + "action should open view on 250" + ); + assert.step('do-action:openFormView_some.model_250'); + }); + await this.start({ env: { bus } }); + const activity = this.env.models['mail.activity'].create({ + canWrite: true, + category: 'not_upload_file', + id: 12, + note: `<p><a href="#" data-oe-id="250" data-oe-model="some.model">some.model_250</a></p>`, + }); + await this.createActivityComponent(activity); + assert.containsOnce( + document.body, + '.o_Activity_note', + "activity should have a note" + ); + assert.containsOnce( + document.querySelector('.o_Activity_note'), + 'a', + "activity note should have a link" + ); + + document.querySelector(`.o_Activity_note a`).click(); + assert.verifySteps( + ['do-action:openFormView_some.model_250'], + "should have open form view on related record after click on link" + ); +}); + }); }); }); |
