voxblog/apps/api/test/req.acceptsLanguages.js

58 lines
1.4 KiB
JavaScript

'use strict'
var express = require('../')
, request = require('supertest');
describe('req', function(){
describe('.acceptsLanguages', function(){
it('should return language if accepted', function (done) {
var app = express();
app.get('/', function (req, res) {
res.send({
'en-us': req.acceptsLanguages('en-us'),
en: req.acceptsLanguages('en')
})
})
request(app)
.get('/')
.set('Accept-Language', 'en;q=.5, en-us')
.expect(200, { 'en-us': 'en-us', en: 'en' }, done)
})
it('should be false if language not accepted', function(done){
var app = express();
app.get('/', function (req, res) {
res.send({
es: req.acceptsLanguages('es')
})
})
request(app)
.get('/')
.set('Accept-Language', 'en;q=.5, en-us')
.expect(200, { es: false }, done)
})
describe('when Accept-Language is not present', function(){
it('should always return language', function (done) {
var app = express();
app.get('/', function (req, res) {
res.send({
en: req.acceptsLanguages('en'),
es: req.acceptsLanguages('es'),
jp: req.acceptsLanguages('jp')
})
})
request(app)
.get('/')
.expect(200, { en: 'en', es: 'es', jp: 'jp' }, done)
})
})
})
})