You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.2 KiB
58 lines
2.2 KiB
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)
|
|
})
|
|
})
|
|
|
|
describe('#sendMsg(from, message)', 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", sendRaw: function() {}}
|
|
mockedUser.sendMsg = function(from, message, to) {
|
|
assert.equal(from, mockedUser)
|
|
assert.equal(message, "test message")
|
|
assert.equal(to, "#testchan")
|
|
done()
|
|
}
|
|
// we can't part a channel without joining it first
|
|
channel.join(mockedUser)
|
|
|
|
channel.sendMsg(mockedUser, "test message")
|
|
})
|
|
})
|
|
})
|