Browse Source

Merge commit 'fd860b54eea4adade9eb1d46b66c507134151d34' into HEAD

fix/wrongParams
Jenkins 6 years ago
parent
commit
54ae018c1e
  1. 11
      src/channel.js
  2. 41
      test/channel.js

11
src/channel.js

@ -9,6 +9,17 @@ function Channel(name) {
item.sendRaw(`:${user.nickname} JOIN ${channel.name}`) item.sendRaw(`:${user.nickname} JOIN ${channel.name}`)
}) })
} }
this.part = function(user) {
let channel = this
let userIndex = this.userlist.indexOf(user)
if (userIndex >= 0) {
this.userlist.forEach(function(item) {
item.sendRaw(`:${user.nickname} PART ${channel.name}`)
})
this.userlist.splice(index, 1)
}
}
} }
module.exports = Channel module.exports = Channel

41
test/channel.js

@ -0,0 +1,41 @@
const assert = require('assert');
const Channel = require("../src/channel.js");
describe('Channel', function () {
describe('#contructor()', function () {
it("should create a channel", function () {
const channel = new Channel("#testchan")
assert.equal(typeof channel, 'object')
})
})
describe('#join(user)', function () {
it("should add the user to a channel and send a JOIN command to the user", function (done) {
const channel = new Channel("#testchan")
let mockedUser = {nickname: "some_nick"}
mockedUser.sendRaw = function(data) {
assert.equal(data, ":some_nick JOIN #testchan")
done()
}
channel.join(mockedUser)
})
})
describe('#part(user)', function () {
it("should remove a user from a channel and send a PART command to the user", function (done) {
const channel = new Channel("#testchan")
let mockedUser = {nickname: "some_nick"}
mockedUser.sendRaw = function(data) {
// we expect a PART message from our user to the channel (including us)
if (data.indexOf("PART") >= 0) {
assert.equal(data, ":some_nick PART #testchan")
done()
}
}
// we can't part a channel without joining it first
channel.join(mockedUser)
channel.part(mockedUser)
})
})
})
Loading…
Cancel
Save