diff --git a/app/assets/javascripts/discourse/widgets/search-menu.js.es6 b/app/assets/javascripts/discourse/widgets/search-menu.js.es6 index 30964e614e9..c2dcb736174 100644 --- a/app/assets/javascripts/discourse/widgets/search-menu.js.es6 +++ b/app/assets/javascripts/discourse/widgets/search-menu.js.es6 @@ -182,7 +182,6 @@ export default createWidget("search-menu", { }, html(attrs) { - searchData.contextEnabled = attrs.contextEnabled; const searchContext = this.searchContext(); const shouldTriggerSearch = diff --git a/test/javascripts/acceptance/search-test.js.es6 b/test/javascripts/acceptance/search-test.js.es6 index 1cb01a1a888..68fe625934e 100644 --- a/test/javascripts/acceptance/search-test.js.es6 +++ b/test/javascripts/acceptance/search-test.js.es6 @@ -1,5 +1,21 @@ import { acceptance, logIn } from "helpers/qunit-helpers"; -acceptance("Search"); +import { fixturesByUrl } from "helpers/create-pretender"; + +const emptySearchContextCallbacks = []; + +acceptance("Search", { + pretend(server, helper) { + server.get("/search/query", request => { + if (request.queryParams["search_context[type]"] === undefined) { + emptySearchContextCallbacks.forEach(callback => { + callback.call(); + }); + } + + return helper.response(fixturesByUrl["search/query.json"]); + }); + } +}); QUnit.test("search", async assert => { await visit("/"); @@ -73,10 +89,17 @@ QUnit.test("Search with context", async assert => { "it should highlight the search term" ); + let callbackCalled = false; + + emptySearchContextCallbacks.push(() => { + callbackCalled = true; + }); + await visit("/"); await click("#search-button"); assert.ok(!exists(".search-context input[type='checkbox']")); + assert.ok(callbackCalled, "it triggers a new search"); await visit("/t/internationalization-localization/280/1"); await click("#search-button"); diff --git a/test/javascripts/fixtures/search-fixtures.js.es6 b/test/javascripts/fixtures/search-fixtures.js.es6 index d49a7085107..a0e28041629 100644 --- a/test/javascripts/fixtures/search-fixtures.js.es6 +++ b/test/javascripts/fixtures/search-fixtures.js.es6 @@ -819,7 +819,7 @@ export default { ] } }, - "search/query": { + "search/query.json": { posts: [ { id: 3833, diff --git a/test/javascripts/helpers/create-pretender.js.es6 b/test/javascripts/helpers/create-pretender.js.es6 index 0ec3ec51c2c..ad43108cc77 100644 --- a/test/javascripts/helpers/create-pretender.js.es6 +++ b/test/javascripts/helpers/create-pretender.js.es6 @@ -33,14 +33,14 @@ export function success() { } const loggedIn = () => !!Discourse.User.current(); - const helpers = { response, success, parsePostData }; +export let fixturesByUrl; export default function() { const server = new Pretender(function() { storePretender.call(this, helpers); flagPretender.call(this, helpers); - const fixturesByUrl = fixturePretender.call(this, helpers); + fixturesByUrl = fixturePretender.call(this, helpers); this.get("/admin/plugins", () => response({ plugins: [] }));