refactor(ip-parsing): centralize multi-delim splitting in splitIps
Extend splitIps to accept comma/semicolon/newline delimiters with dedupe, and reuse it in DetailPanel for both the IP list and the service-URL host. Fixes ServiceBadge links pointing at concatenated string when IPs were entered with ';' or newline separators. Adds tests for new delimiters.
This commit is contained in:
@@ -446,6 +446,20 @@ describe('DetailPanel', () => {
|
||||
expect(screen.getByRole('link', { name: /192\.168\.1\.11/ })).toBeDefined()
|
||||
expect(screen.queryByText(',')).toBeNull()
|
||||
})
|
||||
|
||||
it('renders separate links for semicolon-separated IPs', () => {
|
||||
setupStore({ ip: '192.168.1.10; 192.168.1.11' })
|
||||
render(<DetailPanel onEdit={vi.fn()} />)
|
||||
expect(screen.getByRole('link', { name: /192\.168\.1\.10/ }).getAttribute('href')).toBe('http://192.168.1.10')
|
||||
expect(screen.getByRole('link', { name: /192\.168\.1\.11/ }).getAttribute('href')).toBe('http://192.168.1.11')
|
||||
})
|
||||
|
||||
it('renders separate links for newline-separated IPs', () => {
|
||||
setupStore({ ip: '192.168.1.10\n192.168.1.11' })
|
||||
render(<DetailPanel onEdit={vi.fn()} />)
|
||||
expect(screen.getByRole('link', { name: /192\.168\.1\.10/ }).getAttribute('href')).toBe('http://192.168.1.10')
|
||||
expect(screen.getByRole('link', { name: /192\.168\.1\.11/ }).getAttribute('href')).toBe('http://192.168.1.11')
|
||||
})
|
||||
})
|
||||
|
||||
describe('ServiceBadge rendering', () => {
|
||||
|
||||
Reference in New Issue
Block a user