refactor: extract flushFileReader helper function for better maintainability

Co-authored-by: hyoban <38493346+hyoban@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-02-04 13:00:06 +00:00
parent 94f691a066
commit 34d7f8eceb

View File

@ -151,6 +151,11 @@ describe('UpdateDSLModal', () => {
onImport: mockOnImport,
}
// Helper function to flush FileReader microtasks
const flushFileReader = async () => {
await flushFileReader()
}
beforeEach(() => {
vi.clearAllMocks()
mockImportDSL.mockResolvedValue({
@ -394,7 +399,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
// Wait for FileReader to process
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
await waitFor(() => {
@ -430,7 +435,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
// Wait for FileReader to process
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
await waitFor(() => {
@ -463,7 +468,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
await waitFor(() => {
@ -552,7 +557,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
// Wait for FileReader to process and button to be enabled
@ -619,7 +624,7 @@ describe('UpdateDSLModal', () => {
// Flush the FileReader microtask to ensure fileContent is set
await act(async () => {
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
const importButton = screen.getByText('common.overwriteAndImport')
@ -675,7 +680,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
// Flush microtasks scheduled by the FileReader mock (which uses queueMicrotask)
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
const importButton = screen.getByText('common.overwriteAndImport')
@ -712,7 +717,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
await waitFor(() => {
@ -749,7 +754,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
await waitFor(() => {
@ -807,7 +812,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
// Flush microtasks scheduled by the FileReader mock (which uses queueMicrotask)
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
const importButton = screen.getByText('common.overwriteAndImport')
@ -1065,7 +1070,7 @@ describe('UpdateDSLModal', () => {
await act(async () => {
fireEvent.change(fileInput, { target: { files: [file] } })
// Flush microtasks scheduled by the FileReader mock (which uses queueMicrotask)
await new Promise<void>(resolve => queueMicrotask(resolve))
await flushFileReader()
})
const importButton = screen.getByText('common.overwriteAndImport')