koa-router
Advanced tools
Comparing version 2.4.0 to 2.4.1
@@ -76,3 +76,8 @@ /** | ||
case 'read': | ||
args = ['GET', baseTrailing + ':' + id, action]; | ||
var wrapper = function *(next) { | ||
if (this.params[id] !== 'new') { | ||
yield action.call(this, next); | ||
} | ||
}; | ||
args = ['GET', baseTrailing + ':' + id, wrapper]; | ||
break; | ||
@@ -79,0 +84,0 @@ case 'edit': |
@@ -9,3 +9,3 @@ { | ||
"author": "Alex Mingoia <talk@alexmingoia.com>", | ||
"version": "2.4.0", | ||
"version": "2.4.1", | ||
"keywords": [ | ||
@@ -12,0 +12,0 @@ "koa", |
@@ -85,2 +85,67 @@ /** | ||
}); | ||
it('doesn\'t call multiple controller actions', function(done) { | ||
var app = koa(); | ||
var router = new Router(app); | ||
app.use(router.middleware()); | ||
var counter = 0; | ||
function *increaseCounter() { | ||
counter++; | ||
this.status = 204; | ||
} | ||
app.resource('threads', { | ||
index: increaseCounter, | ||
new: increaseCounter, | ||
create: increaseCounter, | ||
show: increaseCounter, | ||
edit: increaseCounter, | ||
update: increaseCounter, | ||
destroy: increaseCounter, | ||
}); | ||
var server = http.createServer(app.callback()); | ||
request(server) | ||
.get('/threads') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.get('/threads/new') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.post('/threads') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.get('/threads/1234') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.get('/threads/1234/edit') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.put('/threads/1234') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
request(server) | ||
.get('/threads/1234') | ||
.expect(204) | ||
.end(function(err, res) { | ||
if (err) return done(err); | ||
counter.should.equal(7); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
31878
861