Skip to content

Commit b0599bc

Browse files
test: address flake. (#84)
1 parent 3ee65c5 commit b0599bc

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

playwright/rendering-modes.spec.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -595,10 +595,14 @@ test('auto render implicitly wraps source with App in dom and react modes', asyn
595595
)
596596

597597
await page.getByRole('combobox', { name: 'Render mode' }).selectOption('react')
598+
await expect(page.getByRole('combobox', { name: 'Render mode' })).toHaveValue('react')
598599
await setComponentEditorSource(
599600
page,
600601
'const Button = () => <button type="button">implicit app react</button>',
601602
)
603+
await expect(
604+
page.locator('.editor-panel[data-editor-kind="component"] .cm-content').first(),
605+
).toContainText('implicit app react')
602606

603607
await expect(page.getByRole('status', { name: 'App status' })).toHaveText('Rendered')
604608
await expect(getPreviewFrame(page).getByRole('button')).toContainText(
@@ -720,13 +724,13 @@ test('persists style mode across reload', async ({ page }) => {
720724

721725
await ensurePanelToolsVisible(page, 'styles')
722726
await page.getByRole('combobox', { name: 'Style mode' }).selectOption('sass')
727+
await expect(page.locator('#style-mode')).toHaveValue('sass')
723728
await expect(page.getByRole('status', { name: 'App status' })).toHaveText('Rendered')
724729

725730
await page.reload()
726731
await waitForInitialRender(page)
727-
await ensurePanelToolsVisible(page, 'styles')
728732

729-
await expect(page.getByRole('combobox', { name: 'Style mode' })).toHaveValue('sass')
733+
await expect(page.locator('#style-mode')).toHaveValue('sass')
730734
})
731735

732736
test('renders with less style mode', async ({ page }) => {

src/modules/app-core/workspace-controllers-setup.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ const createWorkspaceControllersSetup = ({
128128
getDirtyStateForTabChange,
129129
syncHeaderLabels,
130130
queueWorkspaceSave,
131+
flushWorkspaceSave,
131132
maybeRender: () => maybeRender(),
132133
setWorkspaceTabAddMenuOpen,
133134
confirmAction,

src/modules/app-core/workspace-tab-mutations-controller.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const createWorkspaceTabMutationsController = ({
1212
getDirtyStateForTabChange,
1313
syncHeaderLabels,
1414
queueWorkspaceSave,
15+
flushWorkspaceSave,
1516
maybeRender,
1617
setWorkspaceTabAddMenuOpen,
1718
confirmAction,
@@ -143,7 +144,13 @@ const createWorkspaceTabMutationsController = ({
143144
}
144145

145146
renderWorkspaceTabs()
146-
queueWorkspaceSave()
147+
if (typeof flushWorkspaceSave === 'function') {
148+
void flushWorkspaceSave().catch(() => {
149+
/* Save failures are surfaced through workspace saver onError. */
150+
})
151+
} else {
152+
queueWorkspaceSave()
153+
}
147154
maybeRender()
148155
},
149156
})

0 commit comments

Comments
 (0)