|
|
@@ -67,9 +67,9 @@ describe('workspace browser rows', () => {
|
|
|
}
|
|
|
const onOpen = vi.fn()
|
|
|
const onToggle = vi.fn()
|
|
|
- const view = render(
|
|
|
- <SessionNodeItem node={parent} depth={0} currentId={parent.id} now={0} onOpen={onOpen}
|
|
|
- onRename={vi.fn()} onToggle={onToggle} />,
|
|
|
+ const view = render(
|
|
|
+ <SessionNodeItem node={parent} depth={0} currentId={parent.id} now={0} onOpen={onOpen}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={onToggle} />,
|
|
|
)
|
|
|
|
|
|
const parentRow = screen.getByText('Parent').closest('[role="treeitem"]')!
|
|
|
@@ -88,9 +88,9 @@ describe('workspace browser rows', () => {
|
|
|
|
|
|
view.rerender(
|
|
|
<SessionNodeItem
|
|
|
- node={{ ...parent, children: [], expanded: false, running: false }}
|
|
|
- depth={1} currentId={undefined} now={0} onOpen={onOpen}
|
|
|
- onRename={vi.fn()} onToggle={onToggle}
|
|
|
+ node={{ ...parent, children: [], expanded: false, running: false }}
|
|
|
+ depth={1} currentId={undefined} now={0} onOpen={onOpen}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={onToggle}
|
|
|
/>,
|
|
|
)
|
|
|
expect(screen.getByRole('button', { name: 'Expand' })).toBeTruthy()
|
|
|
@@ -162,9 +162,9 @@ describe('workspace browser rows', () => {
|
|
|
const node: SessionNode = {
|
|
|
id: sid('s1'), title: 'One', children: [], hasChildren: false,
|
|
|
expanded: false, running: false, updatedAt: 0,
|
|
|
- }
|
|
|
- render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={onOpen}
|
|
|
- onRename={onRename} onToggle={vi.fn()} />)
|
|
|
+ }
|
|
|
+ render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={onOpen}
|
|
|
+ onRename={onRename} onFork={vi.fn()} onToggle={vi.fn()} />)
|
|
|
fireEvent.click(screen.getByRole('button', { name: 'Session actions for One' }))
|
|
|
expect(onOpen).not.toHaveBeenCalled()
|
|
|
expect(screen.getByRole('menuitem', { name: 'Delete session' }).className).toMatch(/danger/)
|
|
|
@@ -189,9 +189,9 @@ describe('workspace browser rows', () => {
|
|
|
const node: SessionNode = {
|
|
|
id: sid('p'), title: 'Parent', children: [], hasChildren: true,
|
|
|
expanded: false, running: false, updatedAt: 0,
|
|
|
- }
|
|
|
- render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} flat />)
|
|
|
+ }
|
|
|
+ render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} flat />)
|
|
|
expect(screen.queryByRole('button', { name: 'Expand' })).toBeNull()
|
|
|
})
|
|
|
|
|
|
@@ -201,9 +201,9 @@ describe('workspace browser rows', () => {
|
|
|
const node: SessionNode = {
|
|
|
id: sid('s1'), title: 'Hovered', children: [], hasChildren: false,
|
|
|
expanded: false, running: true, updatedAt: 0,
|
|
|
- }
|
|
|
- render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={60_000} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} />)
|
|
|
+ }
|
|
|
+ render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={60_000} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} />)
|
|
|
const wrapper = screen.getByRole('treeitem').parentElement as HTMLElement
|
|
|
fireEvent.pointerEnter(wrapper)
|
|
|
act(() => { vi.advanceTimersByTime(500) })
|
|
|
@@ -228,9 +228,9 @@ describe('workspace browser rows', () => {
|
|
|
const node: SessionNode = {
|
|
|
id: sid('s1'), title: 'Quiet', children: [], hasChildren: false,
|
|
|
expanded: false, running: false, updatedAt: 0,
|
|
|
- }
|
|
|
- render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} />)
|
|
|
+ }
|
|
|
+ render(<SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} />)
|
|
|
fireEvent.pointerEnter(screen.getByRole('treeitem').parentElement as HTMLElement)
|
|
|
act(() => { vi.advanceTimersByTime(500) })
|
|
|
expect(screen.getByText('Idle')).toBeTruthy()
|
|
|
@@ -246,9 +246,9 @@ describe('workspace browser rows', () => {
|
|
|
expanded: false, running: false, updatedAt: 0,
|
|
|
}
|
|
|
const inactive = dragProps()
|
|
|
- const { rerender } = render(
|
|
|
- <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} drag={inactive} />,
|
|
|
+ const { rerender } = render(
|
|
|
+ <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} drag={inactive} />,
|
|
|
)
|
|
|
const row = screen.getByRole('treeitem')
|
|
|
stubRect(row)
|
|
|
@@ -264,9 +264,9 @@ describe('workspace browser rows', () => {
|
|
|
expect(inactive.end).toHaveBeenCalledOnce()
|
|
|
|
|
|
const active = dragProps({ active: true, marker: 'before' })
|
|
|
- rerender(
|
|
|
- <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} drag={active} />,
|
|
|
+ rerender(
|
|
|
+ <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} drag={active} />,
|
|
|
)
|
|
|
stubRect(screen.getByRole('treeitem'))
|
|
|
// Top half hovers/drops 'before'; bottom half 'after' (row mid = 117).
|
|
|
@@ -278,9 +278,9 @@ describe('workspace browser rows', () => {
|
|
|
expect(active.drop).toHaveBeenCalledWith('after')
|
|
|
|
|
|
const after = dragProps({ active: true, marker: 'after' })
|
|
|
- rerender(
|
|
|
- <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
- onRename={vi.fn()} onToggle={vi.fn()} drag={after} />,
|
|
|
+ rerender(
|
|
|
+ <SessionNodeItem node={node} depth={0} currentId={undefined} now={0} onOpen={vi.fn()}
|
|
|
+ onRename={vi.fn()} onFork={vi.fn()} onToggle={vi.fn()} drag={after} />,
|
|
|
)
|
|
|
expect(screen.getByRole('treeitem').className).toMatch(/dropAfter/)
|
|
|
})
|