Correct failing test

Correct failing test

WARNING: forEach is a trap when async is involved cause it leaks promises

for X of Y is a very clean workaround that keeps the code ver readable

diff --git a/test/javascripts/lib/user-search-test.js.es6 b/test/javascripts/lib/user-search-test.js.es6
index 55b512c..28e3da7 100644
--- a/test/javascripts/lib/user-search-test.js.es6
+++ b/test/javascripts/lib/user-search-test.js.es6
@@ -80,10 +80,10 @@ QUnit.test("it skips a search depending on punctuations", async assert => {
     "@sam:"
   ];
 
-  skippedTerms.forEach(async term => {
+  for (let term of skippedTerms) {
     let results = await userSearch({ term });
     assert.equal(results.length, 0);
-  });
+  }
 
   let allowedTerms = [
     "@sam sam", // double space is not allowed
@@ -93,8 +93,8 @@ QUnit.test("it skips a search depending on punctuations", async assert => {
 
   let topicId = 100;
 
-  allowedTerms.forEach(async term => {
+  for (let term of allowedTerms) {
     let results = await userSearch({ term, topicId });
     assert.equal(results.length, 6);
-  });
+  }
 });

GitHub sha: fa35b555

1 Like

Picked up this tip at: Async/Await and the forEach Pit of Despair - DEV Community 👩‍💻👨‍💻

1 Like