From c5b861bece8c2281546d74d754d998200d5d63b5 Mon Sep 17 00:00:00 2001
From: Richard Petersen <richard.petersen@open-xchange.com>
Date: Mon, 28 Feb 2022 14:37:18 +0100
Subject: [PATCH] Deshakerize unit test

---
 spec/server_test.js | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/spec/server_test.js b/spec/server_test.js
index 08c4afa..cc7592f 100644
--- a/spec/server_test.js
+++ b/spec/server_test.js
@@ -66,22 +66,30 @@ describe('UI Middleware', function () {
     })
 
     it('refreshes manifest data after caching timeout', async function () {
-      process.env.CACHE_TTL = 1
+      process.env.CACHE_TTL = 0
       app = await mockApp()
 
       const response = await request(app).get('/manifests')
       expect(response.statusCode).to.equal(200)
       expect(response.body).to.deep.equal([{ namespace: 'test', path: 'example' }])
 
-      fetchConfig['http://ui-server'] = {
-        '/manifest.json': generateSimpleViteManifest({ 'example.js': 'other' }),
-        '/example.js': ''
-      }
+      const refreshedCache = new Promise(resolve => {
+        fetchConfig['http://ui-server'] = {
+          '/manifest.json': generateSimpleViteManifest({ 'example.js': 'other' }),
+          '/example.js': () => {
+            try {
+              return new Response('new content')
+            } finally {
+              resolve()
+            }
+          }
+        }
+      })
 
       // trigger update
       await request(app).get('/manifests')
       // wait some time
-      await new Promise(resolve => setTimeout(resolve, 10))
+      await refreshedCache
 
       const response2 = await request(app).get('/manifests')
       expect(response2.statusCode).to.equal(200)
-- 
GitLab