From 71fb8a4195ed9cef2917475213b2917860349c0d Mon Sep 17 00:00:00 2001 From: Bianca Nenciu Date: Tue, 7 May 2019 13:53:45 +0300 Subject: [PATCH] DEV: Fix failing click-track tests. --- .../discourse/lib/click-track.js.es6 | 2 +- .../acceptance/click-track-test.js.es6 | 2 +- .../helpers/create-pretender.js.es6 | 2 +- .../lib/click-track-edit-history-test.js.es6 | 27 +++++++++---------- .../lib/click-track-profile-page-test.js.es6 | 24 +++++++---------- test/javascripts/lib/click-track-test.js.es6 | 23 +++++++--------- 6 files changed, 35 insertions(+), 45 deletions(-) diff --git a/app/assets/javascripts/discourse/lib/click-track.js.es6 b/app/assets/javascripts/discourse/lib/click-track.js.es6 index dae52b7b21a..d744929fcb6 100644 --- a/app/assets/javascripts/discourse/lib/click-track.js.es6 +++ b/app/assets/javascripts/discourse/lib/click-track.js.es6 @@ -93,7 +93,7 @@ export default { let trackPromise = Ember.RSVP.resolve(); if (tracking) { - if (navigator.sendBeacon) { + if (!Ember.testing && navigator.sendBeacon) { const data = new FormData(); data.append("url", href); data.append("post_id", postId); diff --git a/test/javascripts/acceptance/click-track-test.js.es6 b/test/javascripts/acceptance/click-track-test.js.es6 index ddbb435d9eb..6abc41ddda1 100644 --- a/test/javascripts/acceptance/click-track-test.js.es6 +++ b/test/javascripts/acceptance/click-track-test.js.es6 @@ -4,7 +4,7 @@ acceptance("Click Track", {}); QUnit.test("Do not track mentions", async assert => { /* global server */ - server.get("/clicks/track", () => assert.ok(false)); + server.post("/clicks/track", () => assert.ok(false)); await visit("/t/internationalization-localization/280"); assert.ok(invisible("#user-card"), "card should not appear"); diff --git a/test/javascripts/helpers/create-pretender.js.es6 b/test/javascripts/helpers/create-pretender.js.es6 index 2054a133e64..9837a53aff9 100644 --- a/test/javascripts/helpers/create-pretender.js.es6 +++ b/test/javascripts/helpers/create-pretender.js.es6 @@ -138,7 +138,7 @@ export default function() { return response({ topic_list: { topics: [] } }); }); - this.get("/clicks/track", success); + this.post("/clicks/track", success); this.get("/search", request => { if (request.queryParams.q === "posts") { diff --git a/test/javascripts/lib/click-track-edit-history-test.js.es6 b/test/javascripts/lib/click-track-edit-history-test.js.es6 index 191df9617a4..0081151ceb7 100644 --- a/test/javascripts/lib/click-track-edit-history-test.js.es6 +++ b/test/javascripts/lib/click-track-edit-history-test.js.es6 @@ -62,11 +62,10 @@ QUnit.test("tracks internal URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337" - ) !== -1 + server.post("/clicks/track", request => { + assert.equal( + request.requestBody, + "url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337" ); done(); }); @@ -79,11 +78,10 @@ QUnit.test("tracks external URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" - ) !== -1 + server.post("/clicks/track", request => { + assert.equal( + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" ); done(); }); @@ -99,11 +97,10 @@ QUnit.test( const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" - ) !== -1 + server.post("/clicks/track", request => { + assert.equal( + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" ); done(); }); diff --git a/test/javascripts/lib/click-track-profile-page-test.js.es6 b/test/javascripts/lib/click-track-profile-page-test.js.es6 index 0face6b2c52..3496626656f 100644 --- a/test/javascripts/lib/click-track-profile-page-test.js.es6 +++ b/test/javascripts/lib/click-track-profile-page-test.js.es6 @@ -56,10 +56,8 @@ QUnit.test("tracks internal URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf("url=http%3A%2F%2Fdiscuss.domain.com") !== -1 - ); + server.post("/clicks/track", request => { + assert.equal(request.requestBody, "url=http%3A%2F%2Fdiscuss.domain.com"); done(); }); @@ -71,11 +69,10 @@ QUnit.test("tracks external URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" - ) !== -1 + server.post("/clicks/track", request => { + assert.equal( + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" ); done(); }); @@ -88,11 +85,10 @@ QUnit.test("tracks external URLs in other posts", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { - assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=24&topic_id=7331" - ) !== -1 + server.post("/clicks/track", request => { + assert.equal( + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=24&topic_id=7331" ); done(); }); diff --git a/test/javascripts/lib/click-track-test.js.es6 b/test/javascripts/lib/click-track-test.js.es6 index 8e4d1f88791..d69b2332cca 100644 --- a/test/javascripts/lib/click-track-test.js.es6 +++ b/test/javascripts/lib/click-track-test.js.es6 @@ -54,11 +54,10 @@ QUnit.test("tracks internal URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { + server.post("/clicks/track", request => { assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337" - ) !== -1 + request.requestBody, + "url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337" ); done(); }); @@ -75,7 +74,7 @@ QUnit.test("does not track attachments", async assert => { sandbox.stub(DiscourseURL, "origin").returns("http://discuss.domain.com"); /* global server */ - server.get("/clicks/track", () => assert.ok(false)); + server.post("/clicks/track", () => assert.ok(false)); assert.ok(track(generateClickEventOn(".attachment"))); }); @@ -85,11 +84,10 @@ QUnit.test("tracks external URLs", async assert => { const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { + server.post("/clicks/track", request => { assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" - ) !== -1 + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" ); done(); }); @@ -105,11 +103,10 @@ QUnit.test( const done = assert.async(); /* global server */ - server.get("/clicks/track", request => { + server.post("/clicks/track", request => { assert.ok( - request.url.indexOf( - "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" - ) !== -1 + request.requestBody, + "url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337" ); done(); });