From 7588cad7835302d2a02f99710f10d5d77d466af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20=27rysiek=27=20Wo=C5=BAniak?= Date: Sat, 4 Sep 2021 20:45:03 +0000 Subject: [PATCH] service-worker: test for all plugins failing added (ref. #8) --- __tests__/service-worker.test.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/__tests__/service-worker.test.js b/__tests__/service-worker.test.js index 0617fd6..5bb0784 100644 --- a/__tests__/service-worker.test.js +++ b/__tests__/service-worker.test.js @@ -144,7 +144,6 @@ describe("service-worker", () => { }) require("../service-worker.js"); var response = await self.trigger('fetch', new Request('/test.json', {method: "POST"})) - console.log(response) expect(response.method).toEqual('POST') expect(await response.json()).toEqual({ test: "success" }) }) @@ -367,4 +366,29 @@ describe("service-worker", () => { expect(self.LibResilientConfig.plugins['dependency1-test'].indirect).toEqual(true) expect(self.LibResilientConfig.plugins['dependency2-test'].indirect).toEqual(true) }) + + test("should error out if all plugins fail", async () => { + self.LibResilientConfig = { + plugins: { + 'reject-all': {} + }, + loggedComponents: [ + 'service-worker' + ] + } + self.LibResilientPlugins.push({ + name: 'reject-all', + description: 'Reject all requests.', + version: '0.0.1', + fetch: (request, init)=>{ return Promise.reject(request); } + }) + require("../service-worker.js"); + expect.assertions(1) + try { + await self.trigger('fetch', new Request('/test.json', {method: "GET"})) + } catch(e) { + expect(e).toEqual(self.location.origin + '/test.json') + } + }) + });