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:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
Reference in New Issue
Block a user