From 9937934443826bd499c629a28cc0f16e02ad9578 Mon Sep 17 00:00:00 2001 From: Wayne Date: Tue, 16 Jul 2019 19:41:18 +0200 Subject: [PATCH] added NICK no NICK given test + implementation with new errorcode --- src/server.js | 3 ++- test/server.js | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/server.js b/src/server.js index 71174f3..a63b0a8 100644 --- a/src/server.js +++ b/src/server.js @@ -7,6 +7,7 @@ const ERR_NOSUCHCHANNEL = '403' const ERR_CANNOTSENDTOCHAN = '404' const ERR_UNKNOWNCOMMAND = '421' const ERR_ERRONEUSNICKNAME = '432' +const ERR_NONICKNAMEGIVEN = '431' const ERR_NICKNAMEINUSE = '433' const ERR_NEEDMOREPARAMS = '461' @@ -39,7 +40,7 @@ server.create = function create() { } else { - socket.write("ERROR: NO NICKNAME PROVIDED") + socket.write(ERR_NONICKNAMEGIVEN, "ERROR: NO NICKNAME PROVIDED") } break; diff --git a/test/server.js b/test/server.js index f1d244a..19e72b1 100644 --- a/test/server.js +++ b/test/server.js @@ -40,7 +40,7 @@ describe('IRC server', function () { server.emit("connection", mockedSock) mockedSock.emit('data', Buffer.from("NICK some_nick\r\n", "ascii")) }) - }), + }) describe("NICK already registered", function () { it("should handle a NICK command -> NICK some_nickname", function (done) { const server = IRCServer.create() @@ -57,4 +57,20 @@ describe('IRC server', function () { mockedSock.emit('data', Buffer.from("NICK some_nick\r\n", "ascii")) }) }) + describe("NICK no NICK given", function () { + it("should handle a NICK command -> NICK ", function (done) { + const server = IRCServer.create() + let mockedSock = new EventEmitter() + mockedSock.write = function (data) { + assert.equal(data.toString("ascii"), "431") + done() + } + mockedSock.destroy = function () { + done("Destroyed socket without answering") + } + + server.emit("connection", mockedSock) + mockedSock.emit('data', Buffer.from("NICK \r\n", "ascii")) + }) + }) })