Clarify infrastructure source picker copy

Use broader platform, host, and service search copy while keeping the address-detection action clear in the Add infrastructure picker.
This commit is contained in:
rcourtman
2026-05-08 02:01:36 +01:00
parent 8176f2e8ca
commit 28830b402f
4 changed files with 9 additions and 11 deletions
@@ -79,7 +79,7 @@ export const InfrastructureSourcePicker: Component<InfrastructureSourcePickerPro
value={query()}
onInput={(event) => setQuery(event.currentTarget.value)}
class={searchInputClass}
placeholder="Search Unraid, TrueNAS, Proxmox, Docker..."
placeholder="Search platforms, hosts, services..."
/>
</label>
<Show when={props.onDetectFromAddress}>
@@ -89,7 +89,7 @@ export const InfrastructureSourcePicker: Component<InfrastructureSourcePickerPro
class={`${detectButtonClass} sm:w-auto`}
>
<Search class="mr-2 h-4 w-4" />
Detect from address
Detect API platform
</button>
</Show>
</div>
@@ -108,7 +108,7 @@ export const InfrastructureSourcePicker: Component<InfrastructureSourcePickerPro
when={visibleItems().length > 0}
fallback={
<div class="rounded-md border border-dashed border-border bg-surface-alt p-4 text-sm text-muted">
No matching source yet. Try a platform name, a host type, or use detect from address.
No matching source yet. Try a platform, host type, service, or API endpoint address.
</div>
}
>
@@ -10,9 +10,7 @@ describe('InfrastructureSourcePicker', () => {
it('labels admitted VMware as first-lab-ready and keeps Pulse Agent on the host profile path', () => {
render(() => <InfrastructureSourcePicker onSelectStep={vi.fn()} />);
expect(
screen.getByPlaceholderText('Search Unraid, TrueNAS, Proxmox, Docker...'),
).toBeInTheDocument();
expect(screen.getByPlaceholderText('Search platforms, hosts, services...')).toBeInTheDocument();
expect(screen.getByText('Common choices')).toBeInTheDocument();
expect(screen.getByText('First lab ready')).toBeInTheDocument();
expect(screen.queryByText('Available now')).toBeNull();
@@ -40,7 +38,7 @@ describe('InfrastructureSourcePicker', () => {
it('filters the catalog by user-recognizable names and aliases', () => {
render(() => <InfrastructureSourcePicker onSelectStep={vi.fn()} />);
fireEvent.input(screen.getByPlaceholderText('Search Unraid, TrueNAS, Proxmox, Docker...'), {
fireEvent.input(screen.getByPlaceholderText('Search platforms, hosts, services...'), {
target: { value: 'nas' },
});
@@ -624,9 +624,9 @@ describe('InfrastructureWorkspace', () => {
screen.getByText('Choose the system, platform, host, or service you want Pulse to monitor.'),
).toBeInTheDocument();
expect(
within(dialog).getByPlaceholderText('Search Unraid, TrueNAS, Proxmox, Docker...'),
within(dialog).getByPlaceholderText('Search platforms, hosts, services...'),
).toBeInTheDocument();
expect(within(dialog).getByRole('button', { name: 'Detect from address' })).toBeInTheDocument();
expect(within(dialog).getByRole('button', { name: 'Detect API platform' })).toBeInTheDocument();
expect(within(dialog).getByText('Common choices')).toBeInTheDocument();
expect(within(dialog).queryByText('Agent telemetry')).toBeNull();
expect(within(dialog).queryByText('API inventory')).toBeNull();
@@ -640,7 +640,7 @@ describe('InfrastructureWorkspace', () => {
await waitFor(() => expect(screen.getByRole('dialog')).toBeInTheDocument());
fireEvent.click(
within(screen.getByRole('dialog')).getByRole('button', { name: 'Detect from address' }),
within(screen.getByRole('dialog')).getByRole('button', { name: 'Detect API platform' }),
);
expect(navigateSpy).toHaveBeenCalledWith('/settings/infrastructure?add=detect', {
@@ -509,7 +509,7 @@ describe('settings architecture guardrails', () => {
expect(infrastructureSourceManagerSource).not.toContain('Infrastructure coverage');
expect(infrastructureSourceManagerSource).not.toContain('Fleet governance');
expect(infrastructureSourceManagerSource).not.toContain('Connection types');
expect(infrastructureSourcePickerSource).toContain('Detect from address');
expect(infrastructureSourcePickerSource).toContain('Detect API platform');
expect(infrastructureSourcePickerSource).toContain('getInfrastructureSourcePickerItems');
expect(infrastructureSourcePickerSource).toContain('itemMatchesQuery');
expect(infrastructureSourcePickerSource).toContain('catalogDescription');