e8f79d43f9
closes #517 add index test for Application add app.toJSON test add test for app.inspect() add tests for app.use() add tests for app.onerror() add tests for app.respond() add tests for app.context() add tests for app.request() add tests for app.response refactor for non-existence of test/app...js no need for *.js use helpers/ dir for non-tests
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
|
|
'use strict';
|
|
|
|
const context = require('../helpers/context');
|
|
|
|
describe('ctx.query', function(){
|
|
describe('when missing', function(){
|
|
it('should return an empty object', function(){
|
|
const ctx = context({ url: '/' });
|
|
ctx.query.should.eql({});
|
|
})
|
|
|
|
it('should return the same object each time it\'s accessed', function(done) {
|
|
const ctx = context({ url: '/' });
|
|
ctx.query.a = '2';
|
|
ctx.query.a.should.equal('2');
|
|
done();
|
|
});
|
|
})
|
|
|
|
it('should return a parsed query-string', function(){
|
|
const ctx = context({ url: '/?page=2' });
|
|
ctx.query.page.should.equal('2');
|
|
})
|
|
})
|
|
|
|
describe('ctx.query=', function(){
|
|
it('should stringify and replace the querystring and search', function(){
|
|
const ctx = context({ url: '/store/shoes' });
|
|
ctx.query = { page: 2, color: 'blue' };
|
|
ctx.url.should.equal('/store/shoes?page=2&color=blue');
|
|
ctx.querystring.should.equal('page=2&color=blue');
|
|
ctx.search.should.equal('?page=2&color=blue')
|
|
})
|
|
|
|
it('should change .url but not .originalUrl', function(){
|
|
const ctx = context({ url: '/store/shoes' });
|
|
ctx.query = { page: 2 };
|
|
ctx.url.should.equal('/store/shoes?page=2');
|
|
ctx.originalUrl.should.equal('/store/shoes');
|
|
ctx.request.originalUrl.should.equal('/store/shoes');
|
|
})
|
|
})
|