From cf81bc81930469c3485f927bc4b75534370d0464 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 18:26:01 -0600 Subject: [PATCH 1/9] test: Simulate outages --- .storybook/preview.tsx | 22 +++++++++++++++++-- .storybook/seed-fake.js | 10 ++++++++- package-lock.json | 9 ++++---- package.json | 2 +- .../DeviceTable/DeviceTable.stories.tsx | 7 ++++++ test/fixtures/seed-fake.ts | 3 +++ 6 files changed, 45 insertions(+), 8 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index d63e764ef..565f39dde 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -42,6 +42,17 @@ const preview: Preview = { description: 'Seam Endpoint', defaultValue: process.env['STORYBOOK_SEAM_ENDPOINT'] ?? '/api', }, + simulatedOutage: { + description: 'Simulate an outage', + defaultValue: false, + toolbar: { + icon: 'circlehollow', + items: [ + { value: false, icon: 'circlehollow', title: 'Normal' }, + { value: true, icon: 'circle', title: 'Outage' }, + ], + }, + }, }, parameters: { actions: { argTypesRegex: '^on[A-Z].*' }, @@ -55,11 +66,18 @@ const preview: Preview = { decorators: [ ( Story, - { globals: { publishableKey, userIdentifierKey, seamEndpoint } } + { + globals: { + publishableKey, + userIdentifierKey, + seamEndpoint, + simulatedOutage, + }, + } ) => { return ( { created_at: '2023-05-15T14:07:48.000', }) + const ws3 = db.addWorkspace({ + name: 'Seed Workspace 3 (simulated outage)', + publishable_key: 'seam_pk_3', + created_at: '2023-05-15T14:07:48.000', + }) + + db.simulateWorkspaceOutage(ws3.workspace_id) + const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, - created_at: '2023-05-15T15:08:49.000', + created_at: '2023-10-03T15:07:48.000', }) const ca = db.addConnectedAccount({ diff --git a/package-lock.json b/package-lock.json index d78597d5c..27459a4c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.14.0", + "@seamapi/fake-seam-connect": "^1.16.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", @@ -4500,10 +4500,11 @@ } }, "node_modules/@seamapi/fake-seam-connect": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.15.0.tgz", - "integrity": "sha512-BsHq/SetsHkQw/eS/nk9AlRRHTaiQUEQ3sfwNrTVoLyqkkt3AXtdhvMrj7K/cHAK8nu/kVYXgJPbwJRSfGCz5g==", + "version": "1.16.0", + "resolved": "https://npm.pkg.github.com/download/@seamapi/fake-seam-connect/1.16.0/4b39eb2ebe4d282e72c853395a8c1c2f7772b2a2", + "integrity": "sha512-FMnYhMDMLI8BQdmKYFoctekeh+JLAmY/Kn+8MJ+YoxDm5SODgwzu0AjBwcuc8zjqmX4pG9psvkXQ2ZDynwuUGQ==", "dev": true, + "license": "MIT", "bin": { "fake-seam-connect": "dist/server.js" }, diff --git a/package.json b/package.json index 52f80dbfc..f9abcd362 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.14.0", + "@seamapi/fake-seam-connect": "^1.16.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx index f13537bbc..803dab9f3 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx @@ -69,3 +69,10 @@ export const ReadOnlyCustomerSupportPanel: Story = { /> ), } + +export const SimulatedOutage: Story = { + render: ({ onBack, ...props } = {}) => , + parameters: { + globals: { simulatedOutage: true }, + }, +} diff --git a/test/fixtures/seed-fake.ts b/test/fixtures/seed-fake.ts index 721ddae57..5e15b6ea0 100644 --- a/test/fixtures/seed-fake.ts +++ b/test/fixtures/seed-fake.ts @@ -9,6 +9,9 @@ interface Seed { export const seedFake = async (db: Database): Promise => { const ws1 = db.addWorkspace({ name: 'Seed Workspace 1 (starts empty)' }) const ws2 = db.addWorkspace({ name: 'Seed Workspace 2 (starts populated)' }) + const ws3 = db.addWorkspace({ name: 'Seed Workspace 3 (simulated outage)' }) + + db.simulateWorkspaceOutage(ws3.workspace_id) const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, From 6c8af49d8d21dfbb43774471b1c571c05cc7224f Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 18:29:54 -0600 Subject: [PATCH 2/9] Use lightning icon --- .storybook/preview.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 565f39dde..ee67a893f 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -48,8 +48,8 @@ const preview: Preview = { toolbar: { icon: 'circlehollow', items: [ - { value: false, icon: 'circlehollow', title: 'Normal' }, - { value: true, icon: 'circle', title: 'Outage' }, + { value: false, icon: 'lightning', title: 'Normal' }, + { value: true, icon: 'lightningoff', title: 'Outage' }, ], }, }, From 12d907cbd39371a45a1fe5ce78114e9cfdc9be21 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 18:32:24 -0600 Subject: [PATCH 3/9] Update old icon ref --- .storybook/preview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index ee67a893f..87f819b4f 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -46,7 +46,7 @@ const preview: Preview = { description: 'Simulate an outage', defaultValue: false, toolbar: { - icon: 'circlehollow', + icon: 'lightning', items: [ { value: false, icon: 'lightning', title: 'Normal' }, { value: true, icon: 'lightningoff', title: 'Outage' }, From d3e2178879411b4b901f1c408e80a3ba3b959399 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 18:33:01 -0600 Subject: [PATCH 4/9] Remove manually simulated outage for `DeviceTable` --- .../seam/components/DeviceTable/DeviceTable.stories.tsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx index 803dab9f3..f13537bbc 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.stories.tsx @@ -69,10 +69,3 @@ export const ReadOnlyCustomerSupportPanel: Story = { /> ), } - -export const SimulatedOutage: Story = { - render: ({ onBack, ...props } = {}) => , - parameters: { - globals: { simulatedOutage: true }, - }, -} From bea157578d4e54b21c5cf4e41f5b33143e6f9684 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 18:36:47 -0600 Subject: [PATCH 5/9] Lint fixes --- .storybook/preview.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 87f819b4f..0a753c723 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -77,7 +77,9 @@ const preview: Preview = { ) => { return ( Date: Wed, 4 Oct 2023 10:58:46 -0600 Subject: [PATCH 6/9] Resolve CI --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 27459a4c1..8a26b1b46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.16.0", + "@seamapi/fake-seam-connect": "^1.17.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", @@ -4500,11 +4500,10 @@ } }, "node_modules/@seamapi/fake-seam-connect": { - "version": "1.16.0", - "resolved": "https://npm.pkg.github.com/download/@seamapi/fake-seam-connect/1.16.0/4b39eb2ebe4d282e72c853395a8c1c2f7772b2a2", - "integrity": "sha512-FMnYhMDMLI8BQdmKYFoctekeh+JLAmY/Kn+8MJ+YoxDm5SODgwzu0AjBwcuc8zjqmX4pG9psvkXQ2ZDynwuUGQ==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.17.0.tgz", + "integrity": "sha512-WKZ0HUI6y5Q025rMh1It15i8JMz8gXoC3Km81NNss0R0Jl5ubMNGKlUOO1MetXkhTc5pa3i1ARORS/AXYZ94HQ==", "dev": true, - "license": "MIT", "bin": { "fake-seam-connect": "dist/server.js" }, diff --git a/package.json b/package.json index f9abcd362..13eb74579 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.16.0", + "@seamapi/fake-seam-connect": "^1.17.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", From a9460fb3b86614b5ddb05bafdfcc8cab3e621b62 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Wed, 4 Oct 2023 11:07:05 -0600 Subject: [PATCH 7/9] Remove unnecessary root icon declaration --- .storybook/preview.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 0a753c723..74cb69109 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -46,7 +46,6 @@ const preview: Preview = { description: 'Simulate an outage', defaultValue: false, toolbar: { - icon: 'lightning', items: [ { value: false, icon: 'lightning', title: 'Normal' }, { value: true, icon: 'lightningoff', title: 'Outage' }, From 5826b1bdc12af206fa4c4d084344af6bf002ee8e Mon Sep 17 00:00:00 2001 From: Tristan B Date: Wed, 4 Oct 2023 11:14:29 -0600 Subject: [PATCH 8/9] Use strings for more clarity and functional correctness --- .storybook/preview.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 74cb69109..5e343e8ee 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -44,11 +44,11 @@ const preview: Preview = { }, simulatedOutage: { description: 'Simulate an outage', - defaultValue: false, + defaultValue: 'normal', toolbar: { items: [ - { value: false, icon: 'lightning', title: 'Normal' }, - { value: true, icon: 'lightningoff', title: 'Outage' }, + { value: 'normal', icon: 'lightning', title: 'Normal' }, + { value: 'outage', icon: 'lightningoff', title: 'Outage' }, ], }, }, @@ -77,7 +77,7 @@ const preview: Preview = { return ( Date: Thu, 5 Oct 2023 10:54:49 -0600 Subject: [PATCH 9/9] Restore old date Have absolutely no clue why/how this was modified.... --- .storybook/seed-fake.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.storybook/seed-fake.js b/.storybook/seed-fake.js index 111de1281..2708c42d7 100644 --- a/.storybook/seed-fake.js +++ b/.storybook/seed-fake.js @@ -22,7 +22,7 @@ export const seedFake = (db) => { const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, - created_at: '2023-10-03T15:07:48.000', + created_at: '2023-05-15T15:08:49.000', }) const ca = db.addConnectedAccount({