fics
Version:
A promise-based interface for the Free Internet Chess Server
160 lines (114 loc) • 4.01 kB
JavaScript
var path = require("path");
var FICSClient = require(path.join(__filename, "..", "..", ".."));
var MockSocket = require("./mock_socket");
exports.testChannelList = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerMessage("help channel_list");
mockSocket.registerFixtures(["channel_list_page1", "channel_list_page2", "channel_list_page3",
"channel_list_page4", "channel_list_page5"]);
var fics = new FICSClient();
fics.channelList().then(function(channels) {
test.equal(72, channels.length);
mockSocket.close();
});
};
exports.testChannels = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerMessage("=channel");
mockSocket.registerFixture("channel");
var fics = new FICSClient();
fics.channels().then(function(channels) {
test.equal(14, channels.length);
mockSocket.close();
});
};
exports.testJoinChannelSuccess = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("channel_add_success");
mockSocket.registerMessage("+channel 31");
var fics = new FICSClient();
fics.joinChannel("31").then(function(success) {
test.ok(success);
mockSocket.close();
});
};
exports.testJoinChannelFailure = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("channel_add_failure");
mockSocket.registerMessage("+channel 31");
var fics = new FICSClient();
fics.joinChannel("31").then(function(success) {
test.ok(!success);
mockSocket.close();
});
};
exports.testLeaveChannelSuccess = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("channel_leave_success");
mockSocket.registerMessage("-channel 31");
var fics = new FICSClient();
fics.leaveChannel("31").then(function(success) {
test.ok(success);
mockSocket.close();
});
};
exports.testLeaveChannelFailure = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("channel_leave_failure");
mockSocket.registerMessage("-channel 31");
var fics = new FICSClient();
fics.leaveChannel("31").then(function(success) {
test.ok(!success);
mockSocket.close();
});
};
exports.testTellChannelOfficialSuccess = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("tell_channel_official_success");
mockSocket.registerMessage("tell 50 test");
var fics = new FICSClient();
fics.tell("50", "test").then(function (success) {
test.ok(success);
mockSocket.close()
});
};
exports.testTellChannelUnofficialSuccess = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("tell_channel_unofficial_success");
mockSocket.registerMessage("tell 128 test");
var fics = new FICSClient();
fics.tell("128", "test").then(function (success) {
test.ok(success);
mockSocket.close()
});
};
exports.testTellChannelUnregisteredFailure = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("tell_channel_unregistered_failure");
mockSocket.registerMessage("tell 5 test");
var fics = new FICSClient();
fics.tell("5", "test").then(function (success) {
test.ok(!success);
mockSocket.close()
});
};
exports.testTellChannelRestrictedFailure = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("tell_channel_restricted_failure");
mockSocket.registerMessage("tell 5 test");
var fics = new FICSClient();
fics.tell("5", "test").then(function (success) {
test.ok(!success);
mockSocket.close()
});
};
exports.testTellChannelOutOfBoundsFailure = function(test) {
var mockSocket = new MockSocket(test);
mockSocket.registerFixture("tell_channel_out_of_bounds_failure");
mockSocket.registerMessage("tell 1024 test");
var fics = new FICSClient();
fics.tell("1024", "test").then(function (success) {
test.ok(!success);
mockSocket.close()
});
};