DEV: Import pretender instead of global server var (#8996)

* DEV: Remove server global test variable

* Delete yarn-error.log

* prettier and some eslint fixes

* add global server variable back for plugins

* rename imported server to pretender

* prettier

* support plugin server. usage

* Export pretender as named

* Prettier

* change default pretender export

* fix bad import

* Use pretender() and original default export

* export new Pretender as default

* fix accidental change

* WIP testing

* add pretend handlers in correct location

* move more stuff into the correct pretender

* Consolidated more pretenders

* comment out another bad test

* fix user acceptance tests

* commented out bad test

* fixed another composer server stub

* fix more tests

* fixed tag test pretender

* Fix admin email test

* removed another draft handler

* add back test

* fix and uncomment another test

* remove test that is not useful

* remove commented out lines

* reapply handlers between every test

* no need to re-stub requests now :)

* cleanup from review

* more cleanup
This commit is contained in:
Mark VanLandingham
2020-03-02 13:24:31 -06:00
committed by GitHub
parent fedd8e3e3a
commit 176aa0ac7d
30 changed files with 1050 additions and 1035 deletions

View File

@@ -2,6 +2,7 @@ import DiscourseURL from "discourse/lib/url";
import ClickTrack from "discourse/lib/click-track";
import { fixture, logIn } from "helpers/qunit-helpers";
import User from "discourse/models/user";
import pretender from "helpers/create-pretender";
QUnit.module("lib:click-track-edit-history", {
beforeEach() {
@@ -62,8 +63,7 @@ QUnit.skip("tracks internal URLs", async assert => {
sandbox.stub(DiscourseURL, "origin").returns("http://discuss.domain.com");
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(
request.requestBody,
"url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337"
@@ -78,8 +78,7 @@ QUnit.skip("tracks external URLs", async assert => {
assert.expect(2);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337"
@@ -97,8 +96,7 @@ QUnit.skip(
User.currentProp("external_links_in_new_tab", true);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337"

View File

@@ -1,6 +1,7 @@
import DiscourseURL from "discourse/lib/url";
import ClickTrack from "discourse/lib/click-track";
import { fixture, logIn } from "helpers/qunit-helpers";
import pretender from "helpers/create-pretender";
QUnit.module("lib:click-track-profile-page", {
beforeEach() {
@@ -55,8 +56,7 @@ QUnit.skip("tracks internal URLs", async assert => {
sandbox.stub(DiscourseURL, "origin").returns("http://discuss.domain.com");
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(request.requestBody, "url=http%3A%2F%2Fdiscuss.domain.com");
done();
});
@@ -68,8 +68,7 @@ QUnit.skip("tracks external URLs", async assert => {
assert.expect(2);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337"
@@ -84,8 +83,7 @@ QUnit.skip("tracks external URLs in other posts", async assert => {
assert.expect(2);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.equal(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=24&topic_id=7331"

View File

@@ -3,6 +3,7 @@ import DiscourseURL from "discourse/lib/url";
import ClickTrack from "discourse/lib/click-track";
import { fixture, logIn } from "helpers/qunit-helpers";
import User from "discourse/models/user";
import pretender from "helpers/create-pretender";
QUnit.module("lib:click-track", {
beforeEach() {
@@ -55,8 +56,7 @@ QUnit.skip("tracks internal URLs", async assert => {
sandbox.stub(DiscourseURL, "origin").returns("http://discuss.domain.com");
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.ok(
request.requestBody,
"url=http%3A%2F%2Fdiscuss.domain.com&post_id=42&topic_id=1337"
@@ -74,8 +74,7 @@ QUnit.skip("does not track elements with no href", async assert => {
QUnit.skip("does not track attachments", async assert => {
sandbox.stub(DiscourseURL, "origin").returns("http://discuss.domain.com");
/* global server */
server.post("/clicks/track", () => assert.ok(false));
pretender.post("/clicks/track", () => assert.ok(false));
assert.notOk(track(generateClickEventOn(".attachment")));
assert.ok(
@@ -89,8 +88,7 @@ QUnit.skip("tracks external URLs", async assert => {
assert.expect(2);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.ok(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337"
@@ -108,8 +106,7 @@ QUnit.skip(
User.currentProp("external_links_in_new_tab", true);
const done = assert.async();
/* global server */
server.post("/clicks/track", request => {
pretender.post("/clicks/track", request => {
assert.ok(
request.requestBody,
"url=http%3A%2F%2Fwww.google.com&post_id=42&topic_id=1337"

View File

@@ -3,12 +3,12 @@ import {
linkSeenMentions
} from "discourse/lib/link-mentions";
import { Promise } from "rsvp";
import pretender from "helpers/create-pretender";
QUnit.module("lib:link-mentions");
QUnit.test("linkSeenMentions replaces users and groups", async assert => {
/* global server */
server.get("/u/is_local_username", () => [
pretender.get("/u/is_local_username", () => [
200,
{ "Content-Type": "application/json" },
{

View File

@@ -20,11 +20,6 @@ QUnit.test("load - failed onebox", async assert => {
let element = document.createElement("A");
element.setAttribute("href", "http://somebadurl.com");
// prettier-ignore
server.get("/onebox", () => { //eslint-disable-line
return [404, {}, {}];
});
await loadOnebox(element);
assert.equal(
@@ -55,11 +50,6 @@ QUnit.test("load - successful onebox", async assert => {
</aside>
`;
// prettier-ignore
server.get("/onebox", () => { //eslint-disable-line
return [200, {}, html];
});
let element = document.createElement("A");
element.setAttribute("href", "http://somegoodurl.com");
@@ -72,7 +62,7 @@ QUnit.test("load - successful onebox", async assert => {
);
assert.equal(
loadOnebox(element),
stringToHTML(html).outerHTML,
html.trim(),
"it returns the html from the cache"
);
});

View File

@@ -1,6 +1,7 @@
import TopicTrackingState from "discourse/models/topic-tracking-state";
import Session from "discourse/models/session";
import ScreenTrack from "discourse/lib/screen-track";
import pretender from "helpers/create-pretender";
let clock;
@@ -18,8 +19,7 @@ QUnit.module("lib:screen-track", {
QUnit.skip("Correctly flushes posts as needed", assert => {
const timings = [];
// prettier-ignore
server.post("/topics/timings", t => { //eslint-disable-line
pretender.post("/topics/timings", t => {
timings.push(t);
return [200, {}, ""];
});

View File

@@ -5,6 +5,7 @@ import {
} from "pretty-text/upload-short-url";
import { ajax } from "discourse/lib/ajax";
import { fixture } from "helpers/qunit-helpers";
import pretender from "helpers/create-pretender";
QUnit.module("lib:pretty-text/upload-short-url", {
beforeEach() {
@@ -46,8 +47,7 @@ QUnit.module("lib:pretty-text/upload-short-url", {
}
];
// prettier-ignore
server.post("/uploads/lookup-urls", () => { //eslint-disable-line
pretender.post("/uploads/lookup-urls", () => {
return response(imageSrcs.concat(attachmentSrcs.concat(otherMediaSrcs)));
});

View File

@@ -1,5 +1,6 @@
import userSearch from "discourse/lib/user-search";
import { CANCELLED_STATUS } from "discourse/lib/autocomplete";
import pretender from "helpers/create-pretender";
QUnit.module("lib:user-search", {
beforeEach() {
@@ -7,13 +8,11 @@ QUnit.module("lib:user-search", {
return [200, { "Content-Type": "application/json" }, object];
};
// prettier-ignore
server.get("/u/search/users", request => { //eslint-disable-line
pretender.get("/u/search/users", request => {
// special responder for per category search
const categoryMatch = request.url.match(/category_id=([0-9]+)/);
if (categoryMatch) {
if(categoryMatch[1] === "3"){
if (categoryMatch[1] === "3") {
return response({});
}
return response({
@@ -24,11 +23,12 @@ QUnit.module("lib:user-search", {
avatar_template:
"https://avatars.discourse.org/v3/letter/t/41988e/{size}.png"
}
]});
]
});
}
if(request.url.match(/no-results/)){
return response({users: []});
if (request.url.match(/no-results/)) {
return response({ users: [] });
}
return response({