Skip to content

Commit 1e10816

Browse files
[tests] Update useServerLogs test to handle task-started events
Update test to simulate cm-task-started events before logs events to match the actual behavior of the composable.
1 parent 2314283 commit 1e10816

File tree

1 file changed

+36
-6
lines changed

1 file changed

+36
-6
lines changed

tests-ui/tests/composables/useServerLogs.test.ts

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,20 +74,34 @@ describe('useServerLogs', () => {
7474

7575
await startListening()
7676

77-
// Get the callback that was registered with useEventListener
78-
const eventCallback = vi.mocked(useEventListener).mock.calls[0][2] as (
77+
// Get the callbacks that were registered with useEventListener
78+
const mockCalls = vi.mocked(useEventListener).mock.calls
79+
const logsCallback = mockCalls.find((call) => call[1] === 'logs')?.[2] as (
7980
event: CustomEvent<LogsWsMessage>
8081
) => void
82+
const taskStartedCallback = mockCalls.find(
83+
(call) => call[1] === 'cm-task-started'
84+
)?.[2] as (event: CustomEvent<any>) => void
8185

82-
// Simulate receiving a log event
86+
// First, simulate task started event
87+
const taskStartedEvent = new CustomEvent('cm-task-started', {
88+
detail: {
89+
type: 'cm-task-started',
90+
ui_id: 'test-ui-id'
91+
}
92+
})
93+
taskStartedCallback(taskStartedEvent)
94+
await nextTick()
95+
96+
// Now simulate receiving a log event
8397
const mockEvent = new CustomEvent('logs', {
8498
detail: {
8599
type: 'logs',
86100
entries: [{ m: 'Log message 1' }, { m: 'Log message 2' }]
87101
} as unknown as LogsWsMessage
88102
}) as CustomEvent<LogsWsMessage>
89103

90-
eventCallback(mockEvent)
104+
logsCallback(mockEvent)
91105
await nextTick()
92106

93107
expect(logs.value).toEqual(['Log message 1', 'Log message 2'])
@@ -101,10 +115,26 @@ describe('useServerLogs', () => {
101115

102116
await startListening()
103117

104-
const eventCallback = vi.mocked(useEventListener).mock.calls[0][2] as (
118+
// Get the callbacks that were registered with useEventListener
119+
const mockCalls = vi.mocked(useEventListener).mock.calls
120+
const logsCallback = mockCalls.find((call) => call[1] === 'logs')?.[2] as (
105121
event: CustomEvent<LogsWsMessage>
106122
) => void
123+
const taskStartedCallback = mockCalls.find(
124+
(call) => call[1] === 'cm-task-started'
125+
)?.[2] as (event: CustomEvent<any>) => void
126+
127+
// First, simulate task started event
128+
const taskStartedEvent = new CustomEvent('cm-task-started', {
129+
detail: {
130+
type: 'cm-task-started',
131+
ui_id: 'test-ui-id'
132+
}
133+
})
134+
taskStartedCallback(taskStartedEvent)
135+
await nextTick()
107136

137+
// Now simulate receiving a log event
108138
const mockEvent = new CustomEvent('logs', {
109139
detail: {
110140
type: 'logs',
@@ -116,7 +146,7 @@ describe('useServerLogs', () => {
116146
} as unknown as LogsWsMessage
117147
}) as CustomEvent<LogsWsMessage>
118148

119-
eventCallback(mockEvent)
149+
logsCallback(mockEvent)
120150
await nextTick()
121151

122152
expect(logs.value).toEqual(['Log message 1 dont remove me', ''])

0 commit comments

Comments
 (0)