Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
# Conflicts: # apps/web/tests/snapshots/live-job-stream/settled.expected.md # apps/web/tests/snapshots/live-job-stream/streaming.expected.md # snapshots/web/background-job-list/running.expected.md
This commit is contained in:
commit
08c3189c3c
5 files changed
+12
-23
No files matched your search
@@ -1,13 +1,9 @@
|
||||
- list "Background jobs":
|
||||
- listitem:
|
||||
- button "Finished 1" [expanded]:
|
||||
- img
|
||||
- text: Finished 1
|
||||
- button "Finished 1" [expanded]
|
||||
- button "Clear"
|
||||
- listitem:
|
||||
- button "Hide live output of printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done" [expanded]:
|
||||
- text: "bash printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done signal: SIGTERM; web e2e cancellation {{duration}}"
|
||||
- img
|
||||
- button "Hide live output of printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done" [expanded]: "bash printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done signal: SIGTERM; web e2e cancellation {{duration}}"
|
||||
- text: $ printf 'streamed-%s\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done
|
||||
- button "Copy"
|
||||
- text: streamed-marker-line
|
||||
@@ -1,10 +1,7 @@
|
||||
- list "Background jobs":
|
||||
- listitem:
|
||||
- button "Hide live output of printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done" [expanded]:
|
||||
- text: printf 'streamed-%s\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done bash {{duration}}
|
||||
- img
|
||||
- button "Stop task printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done":
|
||||
- img
|
||||
- button "Hide live output of printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done" [expanded]: printf 'streamed-%s\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done bash {{duration}}
|
||||
- button "Stop task printf 'streamed-%s\\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done"
|
||||
- text: $ printf 'streamed-%s\n' marker-line; for _ in $(seq 1 3000); do [ -e .live-job-stream.release ] && break; sleep 0.2; done
|
||||
- button "Copy"
|
||||
- text: streamed-marker-line
|
||||
@@ -222,7 +222,7 @@ describe('JobListAction rows', () => {
|
||||
job({ id: 'bash-1' as JobView['id'], label: 'first', status: 'completed', startedAt: 1_700_000_000_000, finishedAt: 1_700_000_000_000 + 100 }),
|
||||
])} />)
|
||||
openList()
|
||||
expect(within(screen.getByRole('list')).getAllByRole('listitem').map(row => row.querySelector('[title]')?.getAttribute('title')))
|
||||
expect(within(screen.getByRole('list')).getAllByRole('listitem').map(row => row.querySelector('[title]')?.getAttribute('title')).filter(title => title !== undefined))
|
||||
.toEqual(['first', 'second'])
|
||||
})
|
||||
|
||||
@@ -231,10 +231,10 @@ describe('JobListAction rows', () => {
|
||||
job({ status: 'killed', detail: 'signal: SIGTERM', finishedAt: 1_700_000_000_000 + 2_000 }),
|
||||
])} />)
|
||||
openList()
|
||||
expect(within(screen.getByRole('list')).getAllByRole('listitem')[0]?.textContent).toContain('signal: SIGTERM')
|
||||
expect(within(screen.getByRole('list')).getByText('signal: SIGTERM')).toBeDefined()
|
||||
})
|
||||
|
||||
it('renders every status word, including the stopping transition', () => {
|
||||
it('renders settled status words and every lifecycle indicator', () => {
|
||||
render(<JobListAction {...props([
|
||||
job({ id: 'bash-1' as JobView['id'], label: 'a', status: 'running' }),
|
||||
job({ id: 'bash-2' as JobView['id'], label: 'b', status: 'stopping' }),
|
||||
@@ -243,7 +243,8 @@ describe('JobListAction rows', () => {
|
||||
job({ id: 'bash-5' as JobView['id'], label: 'e', status: 'failed', finishedAt: 1_700_000_000_000 }),
|
||||
])} />)
|
||||
openList()
|
||||
for (const word of ['运行中', '正在停止', '已完成', '已取消', '已失败']) {
|
||||
fireEvent.click(screen.getByRole('button', { name: zh['section.settledCount'].replace('{count}', '3') }))
|
||||
for (const word of ['已完成', '已取消', '已失败']) {
|
||||
expect(within(screen.getByRole('list')).getByText(word)).toBeDefined()
|
||||
}
|
||||
expect([...screen.getByRole('list').querySelectorAll('li [data-state]')].map(node => node.getAttribute('data-state')))
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
- list "Background jobs":
|
||||
- listitem:
|
||||
- button "Show live output of for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done":
|
||||
- text: for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done bash {{duration}}
|
||||
- img
|
||||
- button "Stop task for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done":
|
||||
- img
|
||||
- button "Show live output of for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done": for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done bash {{duration}}
|
||||
- button "Stop task for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done"
|
||||
@@ -1,7 +1,5 @@
|
||||
- list "Background jobs":
|
||||
- listitem:
|
||||
- button "Finished 1" [expanded]:
|
||||
- img
|
||||
- text: Finished 1
|
||||
- button "Finished 1" [expanded]
|
||||
- button "Clear"
|
||||
- listitem: "bash for _ in $(seq 1 3000); do [ -e .background-job-list.release ] && break; sleep 0.2; done signal: SIGTERM; cancelled by the user {{duration}}"
|
||||
Reference in new issue
Block a user