mirror of
https://github.com/discourse/discourse.git
synced 2025-06-17 18:03:12 +08:00
Fix randomly failing JS acceptance tests.
This commit is contained in:
@ -3,14 +3,18 @@ import { createWidget } from 'discourse/widgets/widget';
|
|||||||
import { h } from 'virtual-dom';
|
import { h } from 'virtual-dom';
|
||||||
import DiscourseURL from 'discourse/lib/url';
|
import DiscourseURL from 'discourse/lib/url';
|
||||||
|
|
||||||
const searchData = {
|
const searchData = {};
|
||||||
loading: false,
|
|
||||||
results: {},
|
export function initSearchData() {
|
||||||
noResults: false,
|
searchData.loading = false;
|
||||||
term: undefined,
|
searchData.results = {};
|
||||||
typeFilter: null,
|
searchData.noResults = false;
|
||||||
invalidTerm: false
|
searchData.term = undefined;
|
||||||
};
|
searchData.typeFilter = null;
|
||||||
|
searchData.invalidTerm = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
initSearchData();
|
||||||
|
|
||||||
// Helps with debouncing and cancelling promises
|
// Helps with debouncing and cancelling promises
|
||||||
const SearchHelper = {
|
const SearchHelper = {
|
||||||
@ -161,7 +165,7 @@ export default createWidget('search-menu', {
|
|||||||
html(attrs) {
|
html(attrs) {
|
||||||
if (searchData.contextEnabled !== attrs.contextEnabled) {
|
if (searchData.contextEnabled !== attrs.contextEnabled) {
|
||||||
searchData.contextEnabled = attrs.contextEnabled;
|
searchData.contextEnabled = attrs.contextEnabled;
|
||||||
this.triggerSearch();
|
if (searchData.term) this.triggerSearch();
|
||||||
} else {
|
} else {
|
||||||
searchData.contextEnabled = attrs.contextEnabled;
|
searchData.contextEnabled = attrs.contextEnabled;
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import { clearCache as clearOutletCache, resetExtraClasses } from 'discourse/lib
|
|||||||
import { clearHTMLCache } from 'discourse/helpers/custom-html';
|
import { clearHTMLCache } from 'discourse/helpers/custom-html';
|
||||||
import { flushMap } from 'discourse/models/store';
|
import { flushMap } from 'discourse/models/store';
|
||||||
import { clearRewrites } from 'discourse/lib/url';
|
import { clearRewrites } from 'discourse/lib/url';
|
||||||
|
import { initSearchData } from 'discourse/widgets/search-menu';
|
||||||
|
|
||||||
export function currentUser() {
|
export function currentUser() {
|
||||||
return Discourse.User.create(sessionFixtures['/session/current.json'].current_user);
|
return Discourse.User.create(sessionFixtures['/session/current.json'].current_user);
|
||||||
@ -97,6 +98,7 @@ export function acceptance(name, options) {
|
|||||||
clearHTMLCache();
|
clearHTMLCache();
|
||||||
resetPluginApi();
|
resetPluginApi();
|
||||||
clearRewrites();
|
clearRewrites();
|
||||||
|
initSearchData();
|
||||||
Discourse.reset();
|
Discourse.reset();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user