From 487fd6802ef2cb248dbabd804fac2ae4c91e76e9 Mon Sep 17 00:00:00 2001 From: Emmanuel Gaillot Date: Sat, 20 Dec 2025 19:39:05 +0100 Subject: Register user --- lambda-calcul/javascript/test/client.test.js | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lambda-calcul/javascript/test/client.test.js (limited to 'lambda-calcul/javascript/test/client.test.js') diff --git a/lambda-calcul/javascript/test/client.test.js b/lambda-calcul/javascript/test/client.test.js new file mode 100644 index 0000000..8c4f98f --- /dev/null +++ b/lambda-calcul/javascript/test/client.test.js @@ -0,0 +1,41 @@ +const http = require('http'); +const LC = require('../src/client'); + +describe('λ-calculator', () => { + let challenger, port; + + beforeEach((done) => { + challenger = http.createServer(); + challenger.listen(0, () => { + port = challenger.address().port; + done(); + }); + }); + + afterEach((done) => { + challenger.close(() => done()); + }); + + it('registers to challenger', () => { + challenger.on('request', (request, response) => { + expect(request.method).toBe('POST'); + expect(request.url).toBe('/api/register'); + expect(request.headers).toHaveProperty('content-type', 'application/json;charset=utf-8'); + + let payload = ''; + request.on('data', (d) => (payload += d)); + request.on('end', () => { + expect(payload).toEqual('"John Smith"'); + }); + + response.end('SomeToken'); + }); + + const client = LC.newClient({ + playerName: 'John Smith', + challengerURL: `http://localhost:${port}`, + }); + return client.start() + .then((token) => expect(token).toBe('SomeToken')); + }); +}); -- cgit v1.3.1