build(ui): migrate from CRA/Jest to Vite/Vitest (#3311)
* feat: create vite project * feat: it's alive! * feat: `make dev` working! * feat: replace custom serviceWorker with vite plugin * test: replace Jest with Vitest * fix: run prettier * fix: skip eslint for now. * chore: remove ui.old folder * refactor: replace lodash.pick with simple destructuring * fix: eslint errors (wip) * fix: eslint errors (wip) * fix: display-name eslint errors (wip) * fix: no-console eslint errors (wip) * fix: react-refresh/only-export-components eslint errors (wip) * fix: react-refresh/only-export-components eslint errors (wip) * fix: react-refresh/only-export-components eslint errors (wip) * fix: react-refresh/only-export-components eslint errors (wip) * fix: build * fix: pwa manifest * refactor: pwa manifest * refactor: simplify PORT configuration * refactor: rename simple JS files * test: cover playlistUtils * fix: react-image-lightbox * feat(ui): add sourcemaps to help debug issues
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import * as React from 'react'
|
||||
import { cleanup, render, screen } from '@testing-library/react'
|
||||
import { LinkToVersion } from './AboutDialog'
|
||||
import TableBody from '@material-ui/core/TableBody'
|
||||
import TableRow from '@material-ui/core/TableRow'
|
||||
import Table from '@material-ui/core/Table'
|
||||
|
||||
const Wrapper = ({ version }) => (
|
||||
<Table>
|
||||
<TableBody>
|
||||
<TableRow>
|
||||
<LinkToVersion version={version} />
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
)
|
||||
|
||||
describe('<LinkToVersion />', () => {
|
||||
afterEach(cleanup)
|
||||
|
||||
it('should not render any link for "dev" version', () => {
|
||||
const version = 'dev'
|
||||
render(<Wrapper version={version} />)
|
||||
expect(screen.queryByRole('link')).toBeNull()
|
||||
})
|
||||
|
||||
it('should render link to GH tag page for full releases', () => {
|
||||
const version = '0.40.0 (300a0292)'
|
||||
render(<Wrapper version={version} />)
|
||||
|
||||
const link = screen.queryByRole('link')
|
||||
expect(link.href).toBe(
|
||||
'https://github.com/navidrome/navidrome/releases/tag/v0.40.0',
|
||||
)
|
||||
expect(link.textContent).toBe('0.40.0')
|
||||
|
||||
const cell = screen.queryByRole('cell')
|
||||
expect(cell.textContent).toBe('0.40.0 (300a0292)')
|
||||
})
|
||||
|
||||
it('should render link to GH comparison page for snapshot releases', () => {
|
||||
const version = '0.40.0-SNAPSHOT (300a0292)'
|
||||
render(<Wrapper version={version} />)
|
||||
|
||||
const link = screen.queryByRole('link')
|
||||
expect(link.href).toBe(
|
||||
'https://github.com/navidrome/navidrome/compare/v0.40.0...300a0292',
|
||||
)
|
||||
expect(link.textContent).toBe('0.40.0-SNAPSHOT')
|
||||
|
||||
const cell = screen.queryByRole('cell')
|
||||
expect(cell.textContent).toBe('0.40.0-SNAPSHOT (300a0292)')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user