summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-07-08 00:54:44 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-07-08 01:01:42 -0400
commitdbc9d7fd264ed68419286d4edfc3b98ca5a2dbe0 (patch)
tree086e593a0c3c1e91486b4df43785de3b18d7adcf /ui
parentc35be3ae29e77983f013c01260dda20208175f2b (diff)
Bug: the login form generates incorrect requests (once per pageview).
Steps to reproduce: **Note**: You will need to watch the traffic in a DOM inspector; this has no user-observable symptoms because there's presently no error reporting for the login form. 1. In a new private tab, visit the `/login` page of a Pilcrow instance. 2. **Without touching the username or password fields**, click `sign in`. The client _should_ send a request to `/api/auth/login` with the following payload: ```json { "name": "", "password": "" } ``` However, it instead sends an empty payload, leading to a 422 Unprocessable Content response as the request is missing required fields. Subsequent requests, or any request after the user enters data in the input fields, are correctly serialized.
Diffstat (limited to 'ui')
-rw-r--r--ui/tests/lib/components/LogIn.svelte.test.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/ui/tests/lib/components/LogIn.svelte.test.js b/ui/tests/lib/components/LogIn.svelte.test.js
index 00abb5c..0835870 100644
--- a/ui/tests/lib/components/LogIn.svelte.test.js
+++ b/ui/tests/lib/components/LogIn.svelte.test.js
@@ -31,4 +31,11 @@ describe('LogIn', async () => {
'my very creative and long password',
);
});
+
+ it('sends empty strings before being populated', async () => {
+ const signIn = screen.getByRole('button');
+ await user.click(signIn);
+
+ expect(mocks.logIn).toHaveBeenCalledExactlyOnceWith('', '');
+ });
});