From a53eb0882ac9822786ee4dfb0745352b45949f28 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Wed, 19 Oct 2022 11:46:01 +0200 Subject: [PATCH] DEV: Prevent potential site state leaks in tests (#18663) If one were to modify nested objects in `Site.current()` those changes would be carried over subsequent tests. --- .../discourse/tests/helpers/qunit-helpers.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/discourse/tests/helpers/qunit-helpers.js b/app/assets/javascripts/discourse/tests/helpers/qunit-helpers.js index b9b348770f..081431fe29 100644 --- a/app/assets/javascripts/discourse/tests/helpers/qunit-helpers.js +++ b/app/assets/javascripts/discourse/tests/helpers/qunit-helpers.js @@ -127,14 +127,14 @@ export function withFrozenTime(timeString, timezone, callback) { let _pretenderCallbacks = {}; -export function resetSite(siteSettings, extras) { - let siteAttrs = Object.assign( - {}, - siteFixtures["site.json"].site, - extras || {} - ); - siteAttrs.siteSettings = siteSettings; - PreloadStore.store("site", siteAttrs); +export function resetSite(siteSettings, extras = {}) { + const siteAttrs = { + ...siteFixtures["site.json"].site, + ...extras, + siteSettings, + }; + + PreloadStore.store("site", cloneJSON(siteAttrs)); Site.resetCurrent(); }