var assert = require("assert");
|
|
|
|
var yaps = require("../");
|
|
|
|
suite("Plugin.addRoute", function(){
|
|
});
|
|
|
|
suite("Plugin.GET", function(){
|
|
test("should add a route for GET method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.GET("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.GET);
|
|
assert.ok(plugin.routes.GET["/test"]);
|
|
assert.deepEqual(plugin.routes.GET["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.POST", function(){
|
|
test("should add a route for POST method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.POST("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.POST);
|
|
assert.ok(plugin.routes.POST["/test"]);
|
|
assert.deepEqual(plugin.routes.POST["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.PUT", function(){
|
|
test("should add a route for PUT method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.PUT("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.PUT);
|
|
assert.ok(plugin.routes.PUT["/test"]);
|
|
assert.deepEqual(plugin.routes.PUT["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.HEAD", function(){
|
|
test("should add a route for HEAD method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.HEAD("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.HEAD);
|
|
assert.ok(plugin.routes.HEAD["/test"]);
|
|
assert.deepEqual(plugin.routes.HEAD["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.DELETE", function(){
|
|
test("should add a route for DELETE method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.DELETE("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.DELETE);
|
|
assert.ok(plugin.routes.DELETE["/test"]);
|
|
assert.deepEqual(plugin.routes.DELETE["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.PATCH", function(){
|
|
test("should add a route for PATCH method", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
|
|
plugin.PATCH("/test", handler);
|
|
|
|
assert.ok(plugin.routes);
|
|
assert.ok(plugin.routes.PATCH);
|
|
assert.ok(plugin.routes.PATCH["/test"]);
|
|
assert.deepEqual(plugin.routes.PATCH["/test"], [handler]);
|
|
});
|
|
});
|
|
|
|
suite("Plugin.on", function(){
|
|
test("on setup should add setup handler", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, done){};
|
|
plugin.on("setup", handler);
|
|
|
|
assert.ok(plugin.setup);
|
|
assert.equal(plugin.setup.length, 1);
|
|
assert.equal(plugin.setup[0], handler);
|
|
});
|
|
|
|
test("on not-found should set not-found handler", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
plugin.on("not-found", handler);
|
|
|
|
assert.ok(plugin.notFound);
|
|
assert.equal(plugin.notFound, handler);
|
|
});
|
|
|
|
test("calling on not-found twice should overwrite not-found handler", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
plugin.on("not-found", false);
|
|
plugin.on("not-found", handler);
|
|
|
|
assert.ok(plugin.notFound);
|
|
assert.equal(plugin.notFound, handler);
|
|
});
|
|
|
|
test("on 404 should set not-found handler", function(){
|
|
var plugin = new yaps.plugin();
|
|
var handler = function(request, server, respond){};
|
|
plugin.on("404", handler);
|
|
|
|
assert.ok(plugin.notFound);
|
|
assert.equal(plugin.notFound, handler);
|
|
});
|
|
|
|
test("on with unknown event should raise Error", function(){
|
|
var plugin = new yaps.plugin();
|
|
assert.throws(function(){
|
|
plugin.on("uknown-event", false);
|
|
}, Error);
|
|
});
|
|
|
|
});
|