Browse Source

fix: clear local storage for whiteboards when e2e tests

Tienson Qin 2 years ago
parent
commit
a5098d3fb8

+ 1 - 1
e2e-tests/whiteboards.spec.ts

@@ -17,7 +17,7 @@ test('enable whiteboards', async ({ page }) => {
 
 test('should display onboarding tour', async ({ page }) => {
   // ensure onboarding tour is going to be triggered locally
-  await page.evaluate(`window.localStorage.removeItem('whiteboard-onboarding-tour?')`)
+  await page.evaluate(`window.clearWhiteboardStorage()`)
   await page.click('.nav-header .whiteboard')
 
   await expect(page.locator('.cp__whiteboard-welcome')).toBeVisible()

+ 3 - 1
src/main/frontend/handler.cljs

@@ -45,7 +45,8 @@
             [promesa.core :as p]
             [frontend.mobile.core :as mobile]
             [frontend.db.listener :as db-listener]
-            [cljs-bean.core :as bean]))
+            [cljs-bean.core :as bean]
+            [frontend.handler.test :as test]))
 
 (defn- set-global-error-notification!
   []
@@ -208,6 +209,7 @@
 
 (defn start!
   [render]
+  (test/setup-test!)
   (get-system-info)
   (set-global-error-notification!)
 

+ 16 - 0
src/main/frontend/handler/test.cljs

@@ -0,0 +1,16 @@
+(ns frontend.handler.test
+  "Prepare for running e2e tests"
+  (:require [frontend.storage :as storage]
+            [frontend.state :as state]))
+
+(defn clear-whiteboard-storage-for-e2e-tests
+  []
+  (storage/set :whiteboard/onboarding-whiteboard? false)
+  (storage/set :whiteboard/onboarding-tour? false)
+  (state/set-state! :whiteboard/onboarding-whiteboard? false)
+  (state/set-state! :whiteboard/onboarding-tour? false)
+  (prn :debug :whiteboard/onboarding-whiteboard? (:whiteboard/onboarding-whiteboard? @state/state)))
+
+(defn setup-test!
+  []
+  (set! (.-clearWhiteboardStorage js/window) clear-whiteboard-storage-for-e2e-tests))