diff --git a/app/assets/javascripts/discourse/mixins/card-contents-base.js.es6 b/app/assets/javascripts/discourse/mixins/card-contents-base.js.es6 index 2313eaeff2c..d757fad8a8c 100644 --- a/app/assets/javascripts/discourse/mixins/card-contents-base.js.es6 +++ b/app/assets/javascripts/discourse/mixins/card-contents-base.js.es6 @@ -25,8 +25,9 @@ export default Ember.Mixin.create({ username = Ember.Handlebars.Utils.escapeExpression(username.toString()); - // Don't show on mobile - if (this.site.mobileView) { + // Don't show on mobile or nested + if (this.site.mobileView || $target.parents(".card-content").length) { + this._close(); DiscourseURL.routeTo($target.attr("href")); return false; } diff --git a/test/javascripts/acceptance/user-card-test.js.es6 b/test/javascripts/acceptance/user-card-test.js.es6 index eace2a8c9ac..30d163b3ed5 100644 --- a/test/javascripts/acceptance/user-card-test.js.es6 +++ b/test/javascripts/acceptance/user-card-test.js.es6 @@ -1,4 +1,5 @@ import { acceptance } from "helpers/qunit-helpers"; +import DiscourseURL from "discourse/lib/url"; acceptance("User Card"); @@ -8,4 +9,8 @@ QUnit.test("user card", async assert => { await click("a[data-user-card=eviltrout]:first"); assert.ok(visible("#user-card"), "card should appear"); + + sandbox.stub(DiscourseURL, "routeTo"); + await click(".card-content a.mention"); + assert.ok(DiscourseURL.routeTo.calledWith("/u/eviltrout")); }); diff --git a/test/javascripts/fixtures/user_fixtures.js.es6 b/test/javascripts/fixtures/user_fixtures.js.es6 index 756c6d2d8c4..b639c5ccb8f 100644 --- a/test/javascripts/fixtures/user_fixtures.js.es6 +++ b/test/javascripts/fixtures/user_fixtures.js.es6 @@ -124,9 +124,9 @@ export default { last_posted_at: "2015-05-07T15:23:35.074Z", last_seen_at: "2015-05-13T14:34:23.188Z", bio_raw: - 'Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter.', + 'Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter. I am @eviltrout.', bio_cooked: - '

Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter.

', + '

Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter. I am @eviltrout.

', created_at: "2013-02-03T15:19:22.704Z", website: "http://eviltrout.com", location: "Toronto", @@ -150,7 +150,7 @@ export default { can_send_private_messages: true, can_send_private_message_to_user: false, bio_excerpt: - 'Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter.', + '

Co-founder of Discourse. Previously, I created Forumwarz. Follow me on Twitter. I am @eviltrout.

', trust_level: 4, moderator: true, admin: true,