diff --git a/frontend/src/components/Config/CreateTargetDialog.test.tsx b/frontend/src/components/Config/CreateTargetDialog.test.tsx index 288c9478bb..70fa3ffb3d 100644 --- a/frontend/src/components/Config/CreateTargetDialog.test.tsx +++ b/frontend/src/components/Config/CreateTargetDialog.test.tsx @@ -398,16 +398,20 @@ describe("CreateTargetDialog", () => { }); }); - it("should display pyrit_conf hint text", () => { + it("should display supported target initializer guidance", () => { render( ); + expect(screen.getByText("target", { selector: "code" })).toBeInTheDocument(); expect( - screen.getByText(/auto-populated by adding an initializer/) + screen.getByText(/registers available prompt targets from endpoints/i) ).toBeInTheDocument(); + expect( + screen.queryByText("airt", { selector: "code" }) + ).not.toBeInTheDocument(); }); it("should render .pyrit_conf_example as an accessible link", () => { @@ -423,6 +427,7 @@ describe("CreateTargetDialog", () => { "href", "https://github.com/microsoft/PyRIT/blob/main/.pyrit_conf_example" ); + expect(link).toHaveAttribute("rel", "noopener noreferrer"); }); it("should show field validation errors when submitting form without endpoint", async () => { diff --git a/frontend/src/components/Config/CreateTargetDialog.tsx b/frontend/src/components/Config/CreateTargetDialog.tsx index a3d30f8565..3f148d837b 100644 --- a/frontend/src/components/Config/CreateTargetDialog.tsx +++ b/frontend/src/components/Config/CreateTargetDialog.tsx @@ -712,10 +712,15 @@ export default function CreateTargetDialog({ open, onClose, onCreated, existingT {!isRoundRobin && ( diff --git a/frontend/src/components/Config/TargetConfig.test.tsx b/frontend/src/components/Config/TargetConfig.test.tsx index 8aed790042..70a9ced2ca 100644 --- a/frontend/src/components/Config/TargetConfig.test.tsx +++ b/frontend/src/components/Config/TargetConfig.test.tsx @@ -118,6 +118,16 @@ describe("TargetConfig", () => { await waitFor(() => { expect(screen.getByText("No Targets Configured")).toBeInTheDocument(); }); + expect(screen.getByText("target", { selector: "code" })).toBeInTheDocument(); + expect( + screen.getByText(/register available prompt targets automatically/i) + ).toBeInTheDocument(); + expect( + screen.queryByText("airt", { selector: "code" }) + ).not.toBeInTheDocument(); + expect( + screen.getByRole("link", { name: ".pyrit_conf_example" }) + ).toHaveAttribute("rel", "noopener noreferrer"); }); it( diff --git a/frontend/src/components/Config/TargetConfig.tsx b/frontend/src/components/Config/TargetConfig.tsx index 6b496954f7..f40a09d3cc 100644 --- a/frontend/src/components/Config/TargetConfig.tsx +++ b/frontend/src/components/Config/TargetConfig.tsx @@ -120,9 +120,14 @@ export default function TargetConfig({ activeTarget, onSetActiveTarget }: Target Add a target manually, or configure an initializer in your ~/.pyrit/.pyrit_conf file to auto-populate targets from your .env and .env.local files. - For example, add airt to the initializers list to register - Azure OpenAI targets automatically. See the{' '} - + For example, add target to the initializers list to register + available prompt targets automatically. See the{' '} + .pyrit_conf_example {' '} for details.