chore: change trial expired banner when launching scans

This commit is contained in:
Pepe Fagoaga
2026-06-24 18:00:31 +02:00
parent 917e5d07ff
commit c1f1b4ec94
7 changed files with 35 additions and 10 deletions
+1
View File
@@ -7,6 +7,7 @@ All notable changes to the **Prowler UI** are documented in this file.
### 🔄 Changed
- Schedule Scans provider table and launch flows now use provider schedule fields, restore OSS daily scheduling, default to the next local scan hour, and clarify provider selection in launch scan [(#11684)](https://github.com/prowler-cloud/prowler/pull/11684)
- Scan launch flows blocked by the usage limit now show the trial-expired banner copy and link to billing [(#XXXXX)](https://github.com/prowler-cloud/prowler/pull/XXXXX)
---
@@ -429,7 +429,7 @@ describe("OrgLaunchScan", () => {
});
// Then
expect(screen.getByText(/reached your scan limit/i)).toBeInTheDocument();
expect(screen.getByText(/exceeded the usage limit/i)).toBeInTheDocument();
expect(updateSchedulesBulkMock).not.toHaveBeenCalled();
expect(launchOrganizationScansMock).not.toHaveBeenCalled();
});
@@ -363,8 +363,16 @@ export function OrgLaunchScan({
{isBlocked ? (
<p className="text-text-error-primary text-sm">
You have reached your scan limit, so additional scans are not
available right now.
You have exceeded the usage limit of one provider. You can add
more providers and run unlimited scans by adding a subscription.{" "}
<Link
href="https://cloud.prowler.com/billing"
target="_blank"
rel="noopener noreferrer"
className="underline"
>
Manage Billing
</Link>
</p>
) : isAdvanced ? (
<ScanScheduleFields
@@ -473,7 +473,7 @@ describe("LaunchStep", () => {
);
// Then
expect(screen.getByText(/reached your scan limit/i)).toBeInTheDocument();
expect(screen.getByText(/exceeded the usage limit/i)).toBeInTheDocument();
await waitFor(() => expect(onFooterChange).toHaveBeenCalled());
expect(lastFooterConfig(onFooterChange)?.actionDisabled).toBe(true);
});
@@ -352,8 +352,16 @@ export function LaunchStep({
{(isLimitBlocked || isBlocked) && (
<p className="text-text-error-primary text-sm">
You have reached your scan limit, so additional scans are not
available right now.
You have exceeded the usage limit of one provider. You can add more
providers and run unlimited scans by adding a subscription.{" "}
<Link
href="https://cloud.prowler.com/billing"
target="_blank"
rel="noopener noreferrer"
className="underline"
>
Manage Billing
</Link>
</p>
)}
@@ -591,7 +591,7 @@ describe("LaunchScanModal", () => {
);
expect(screen.queryByRole("radio")).not.toBeInTheDocument();
expect(screen.getByText(/reached your scan limit/i)).toBeInTheDocument();
expect(screen.getByText(/exceeded the usage limit/i)).toBeInTheDocument();
expect(
screen.getByRole("button", { name: /launch scan/i }),
).toBeDisabled();
@@ -610,7 +610,7 @@ describe("LaunchScanModal", () => {
);
expect(screen.queryByRole("radio")).not.toBeInTheDocument();
expect(screen.getByText(/reached your scan limit/i)).toBeInTheDocument();
expect(screen.getByText(/exceeded the usage limit/i)).toBeInTheDocument();
await user.selectOptions(screen.getByLabelText("Providers"), provider.id);
await user.click(screen.getByRole("button", { name: /launch scan/i }));
+10 -2
View File
@@ -330,8 +330,16 @@ function LaunchScanForm({
{isBlocked && (
<p className="text-text-error-primary text-sm">
You have reached your scan limit, so additional scans are not
available right now.
You have exceeded the usage limit of one provider. You can add more
providers and run unlimited scans by adding a subscription.{" "}
<Link
href="https://cloud.prowler.com/billing"
target="_blank"
rel="noopener noreferrer"
className="underline"
>
Manage Billing
</Link>
</p>
)}