This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { filterTasks, groupTaskTree, renderMarkdown, toDateTimeLocal } from './task-utils'
|
||||
import { filterTasks, groupTaskTree, moveItemWithinScope, renderMarkdown, toDateTimeLocal } from './task-utils'
|
||||
|
||||
type SearchTask = {
|
||||
id: string
|
||||
@@ -26,6 +26,18 @@ describe('task utilities', () => {
|
||||
expect(groupTaskTree(tasks)).toEqual([{ task: tasks[0], subtasks: [tasks[1]] }, { task: tasks[2], subtasks: [] }])
|
||||
})
|
||||
|
||||
it('moves an item before or after another item without changing other scopes', () => {
|
||||
const rows = [
|
||||
{ id: 'a', parent_id: null },
|
||||
{ id: 'a1', parent_id: 'a' },
|
||||
{ id: 'b', parent_id: null },
|
||||
{ id: 'c', parent_id: null },
|
||||
]
|
||||
expect(moveItemWithinScope(rows, 'c', 'a', 'before').map((row) => row.id)).toEqual(['c', 'a1', 'a', 'b'])
|
||||
expect(moveItemWithinScope(rows, 'a', 'c', 'after').map((row) => row.id)).toEqual(['b', 'a1', 'c', 'a'])
|
||||
expect(moveItemWithinScope(rows, 'a1', 'b', 'before')).toEqual(rows)
|
||||
})
|
||||
|
||||
it('renders safe basic markdown and strips unsafe html', () => {
|
||||
const html = renderMarkdown('# Plan\n**bold** [link](https://example.com)\n<script>alert(1)</script>')
|
||||
expect(html).toContain('<h1>Plan</h1>')
|
||||
|
||||
Reference in New Issue
Block a user