summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/components/activity/activity_tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/static/src/components/activity/activity_tests.js')
-rw-r--r--addons/mail/static/src/components/activity/activity_tests.js48
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"
+ );
+});
+
});
});
});