import React from 'react'
import { render, screen } from '@testing-library/react'
import { Breadcrumb, CrumbProps, DividerPosition } from './index'
const crumb1: CrumbProps = {
url: 'http://www.goominet.com/unspeakable-vault/',
name: 'Fhtagn',
}
const crumb2: CrumbProps = {
url: 'http://www.goominet.com/unspeakable-vault/vault/1/',
name: 'Cthulhu',
}
describe('Breadcrumb', () => {
it('renders with 1 link and no separator', () => {
render()
expect(screen.getAllByRole('listitem')).toHaveLength(1)
expect(screen.getByRole('list')).toHaveTextContent('Fhtagn')
})
it('renders with 2 links and a separator between them', () => {
render()
expect(screen.getAllByRole('listitem')).toHaveLength(2)
expect(screen.getByRole('list')).toHaveTextContent('Fhtagn › Cthulhu')
})
it('renders with no divider ', () => {
render()
expect(screen.queryByRole('separator')).not.toBeInTheDocument()
})
it('renders with a divider before', () => {
const breadcrumb = render(
,
).container
expect(breadcrumb.querySelector('div')).toStrictEqual(breadcrumb.childNodes[0])
expect(breadcrumb.querySelector('ol')).toStrictEqual(breadcrumb.childNodes[1])
})
it('renders with a divider after', () => {
const breadcrumb = render(
,
).container
expect(breadcrumb.querySelector('ol')).toStrictEqual(breadcrumb.childNodes[0])
expect(breadcrumb.querySelector('div')).toStrictEqual(breadcrumb.childNodes[1])
})
})