From 2ac732dc527d53974d65a5afbb33c452a567797b Mon Sep 17 00:00:00 2001 From: Emmanuel Gaillot Date: Sat, 20 Dec 2025 22:27:27 +0100 Subject: Post solution --- lambda-calcul/javascript/test/client.test.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'lambda-calcul/javascript/test') diff --git a/lambda-calcul/javascript/test/client.test.js b/lambda-calcul/javascript/test/client.test.js index 8a5ebff..a001c6f 100644 --- a/lambda-calcul/javascript/test/client.test.js +++ b/lambda-calcul/javascript/test/client.test.js @@ -80,6 +80,32 @@ describe('λ-calculator', () => { expect(client.solve('Some challenge')).toBe('Expression to print'); }); + it('posts solution', () => { + let challengerCalled = false; + + challenger.on('request', (request, response) => { + challengerCalled = true; + expect(request.headers).toHaveProperty('content-type', 'application/json;charset=utf-8'); + expect(request.method).toBe('POST'); + expect(request.url).toBe('/api/challenge?token=SomeToken'); + + let payload = ''; + request.on('data', (d) => (payload += d)); + request.on('end', () => { + expect(payload).toEqual('"answer"'); + }); + + response.end(); + }); + + const client = LC.newClient({ + playerName: 'John Smith', + challengerURL: `http://localhost:${port}`, + }); + return client.postSolution('SomeToken', "answer") + .then(() => expect(challengerCalled).toBe(true)); + }); + it('unregisters user', () => { let challengerCalled = false; -- cgit v1.3.1