import type { ReactElement } from 'react'
import { render, screen } from '@testing-library/react'
import { describe, expect, it, vi } from 'vitest'
import { TooltipProvider } from '@/components/ui/tooltip'
import { AppPreferencesProvider } from '../hooks/useAppPreferences'
import { NoteList } from './NoteList'
import { SmartPropertyValueCell } from './PropertyValueCells'
import {
buildNoteListProps,
makeEntry,
makeTypeDefinition,
} from '../test-utils/noteListTestUtils'
function renderWithPreferences(ui: ReactElement) {
return render(
{ui}
,
)
}
describe('date display preference flow', () => {
it('formats note-list date chips from the shared preference provider', () => {
const entries = [
makeTypeDefinition('Book', ['Due']),
makeEntry({
path: '/vault/book.md',
filename: 'book.md',
title: 'Book Note',
isA: 'Book',
properties: { Due: '2026-05-11' },
}),
]
const { props } = buildNoteListProps({
entries,
selection: { kind: 'sectionGroup', type: 'Book' },
})
renderWithPreferences()
expect(screen.getByTestId('property-chip-due-0')).toHaveTextContent('11/5/2026')
})
it('keeps date editor input ISO while display text follows the shared preference', () => {
renderWithPreferences(
,
)
expect(screen.getByTestId('date-display')).toHaveTextContent('20/4/2026')
expect(screen.getByTestId('date-picker-input')).toHaveValue('2026-04-20')
})
})