mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 23:03:00 -04:00
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
/*!
|
|
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
import { Header } from '@nextcloud/files'
|
|
import { beforeEach, describe, expect, it, vi } from 'vitest'
|
|
import { useFileListHeaders } from './useFileListHeaders.ts'
|
|
|
|
const getFileListHeaders = vi.hoisted(() => vi.fn())
|
|
|
|
vi.mock('@nextcloud/files', async (originalModule) => {
|
|
return {
|
|
...(await originalModule()),
|
|
getFileListHeaders,
|
|
}
|
|
})
|
|
|
|
describe('useFileListHeaders', () => {
|
|
beforeEach(() => vi.resetAllMocks())
|
|
|
|
it('gets the headers', () => {
|
|
const header = new Header({ id: '1', order: 5, render: vi.fn(), updated: vi.fn() })
|
|
getFileListHeaders.mockImplementationOnce(() => [header])
|
|
|
|
const headers = useFileListHeaders()
|
|
expect(headers.value).toEqual([header])
|
|
expect(getFileListHeaders).toHaveBeenCalledOnce()
|
|
})
|
|
|
|
it('headers are sorted', () => {
|
|
const header = new Header({ id: '1', order: 10, render: vi.fn(), updated: vi.fn() })
|
|
const header2 = new Header({ id: '2', order: 5, render: vi.fn(), updated: vi.fn() })
|
|
getFileListHeaders.mockImplementationOnce(() => [header, header2])
|
|
|
|
const headers = useFileListHeaders()
|
|
// lower order first
|
|
expect(headers.value.map(({ id }) => id)).toStrictEqual(['2', '1'])
|
|
expect(getFileListHeaders).toHaveBeenCalledOnce()
|
|
})
|
|
})
|