fix(KB-241): use form values for ntfy test notifications

- Update frontend API client to accept config parameter for testNtfyNotification
- Modify SettingsModal to pass current form values when testing notifications
- Update SettingsModal test to expect config object in API call
- Add changeset documenting the test notification fix
This commit is contained in:
gsxdsm
2026-03-31 05:31:52 -07:00
parent 4be8306f7a
commit 243da605b1
4 changed files with 14 additions and 2 deletions

View File

@@ -222,9 +222,10 @@ export function fetchSettingsByScope(): Promise<{ global: GlobalSettings; projec
return api<{ global: GlobalSettings; project: Partial<ProjectSettings> }>("/settings/scopes");
}
export function testNtfyNotification(): Promise<{ success: boolean }> {
export function testNtfyNotification(config?: { ntfyEnabled?: boolean; ntfyTopic?: string }): Promise<{ success: boolean }> {
return api<{ success: boolean }>("/settings/test-ntfy", {
method: "POST",
body: config ? JSON.stringify(config) : undefined,
});
}

View File

@@ -190,7 +190,10 @@ export function SettingsModal({
setTestNotificationLoading(true);
try {
const result = await testNtfyNotification();
const result = await testNtfyNotification({
ntfyEnabled: form.ntfyEnabled,
ntfyTopic: form.ntfyTopic,
});
if (result.success) {
addToast("Test notification sent — check your ntfy app!", "success");
} else {

View File

@@ -1208,6 +1208,7 @@ describe("SettingsModal", () => {
fireEvent.click(testButton);
await waitFor(() => expect(testNtfyNotification).toHaveBeenCalledTimes(1));
expect(testNtfyNotification).toHaveBeenCalledWith({ ntfyEnabled: true, ntfyTopic: "my-valid-topic" });
});
it("Success toast is shown when test notification succeeds", async () => {