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
47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
|
|
'use strict';
|
|
|
|
const context = require('../helpers/context');
|
|
|
|
describe('ctx.querystring', function(){
|
|
it('should return the querystring', function(){
|
|
const ctx = context({ url: '/store/shoes?page=2&color=blue' });
|
|
ctx.querystring.should.equal('page=2&color=blue');
|
|
})
|
|
|
|
describe('when ctx.req not present', function(){
|
|
it('should return an empty string', function(){
|
|
const ctx = context();
|
|
ctx.request.req = null;
|
|
ctx.querystring.should.equal('');
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('ctx.querystring=', function(){
|
|
it('should replace the querystring', function(){
|
|
const ctx = context({ url: '/store/shoes' });
|
|
ctx.querystring = 'page=2&color=blue';
|
|
ctx.url.should.equal('/store/shoes?page=2&color=blue');
|
|
ctx.querystring.should.equal('page=2&color=blue');
|
|
})
|
|
|
|
it('should update ctx.search and ctx.query', function(){
|
|
const ctx = context({ url: '/store/shoes' });
|
|
ctx.querystring = 'page=2&color=blue';
|
|
ctx.url.should.equal('/store/shoes?page=2&color=blue');
|
|
ctx.search.should.equal('?page=2&color=blue');
|
|
ctx.query.should.eql({
|
|
page: '2',
|
|
color: 'blue'
|
|
});
|
|
})
|
|
|
|
it('should change .url but not .originalUrl', function(){
|
|
const ctx = context({ url: '/store/shoes' });
|
|
ctx.querystring = 'page=2&color=blue';
|
|
ctx.url.should.equal('/store/shoes?page=2&color=blue');
|
|
ctx.originalUrl.should.equal('/store/shoes');
|
|
ctx.request.originalUrl.should.equal('/store/shoes');
|
|
})
|
|
})
|