mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-20 00:07:12 +02:00
The agent name used in the `Agents` config option comes from the .ndp file name, not from the manifest. The Plugins UI showed the ID but never said what it was for, so renaming a plugin file silently breaks the config with only a Debug-level "Unknown agent ignored" line to go on. Add a caption under the ID in the Plugins UI, and list the accepted names alongside the rejected one in that log line. Related to navidrome/apple-music-plugin#14
41 lines
1,002 B
JavaScript
41 lines
1,002 B
JavaScript
import React from 'react'
|
|
import { render, screen } from '@testing-library/react'
|
|
import { describe, it, expect, vi } from 'vitest'
|
|
|
|
vi.mock('../common', () => ({
|
|
DateField: ({ source }) => <span data-testid={`date-${source}`} />,
|
|
}))
|
|
|
|
const { InfoCard } = await import('./InfoCard')
|
|
|
|
const record = {
|
|
id: 'apple-music',
|
|
path: '/data/plugins/apple-music.ndp',
|
|
updatedAt: '2026-01-01T00:00:00Z',
|
|
createdAt: '2026-01-01T00:00:00Z',
|
|
}
|
|
|
|
const renderCard = () =>
|
|
render(
|
|
<InfoCard
|
|
record={record}
|
|
manifest={{ name: 'Apple Music Metadata Agent' }}
|
|
classes={{}}
|
|
translate={(key) => key}
|
|
isSmall={false}
|
|
/>,
|
|
)
|
|
|
|
describe('InfoCard', () => {
|
|
it('shows the plugin ID', () => {
|
|
renderCard()
|
|
expect(screen.getByText('apple-music')).toBeInTheDocument()
|
|
})
|
|
|
|
it('explains that the ID is the name used in config options', () => {
|
|
renderCard()
|
|
expect(
|
|
screen.getByText('resources.plugin.messages.idHelp'),
|
|
).toBeInTheDocument()
|
|
})
|
|
})
|