| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var	assert = require('assert'); | 
					
						
							|  |  |  | var nconf = require('nconf'); | 
					
						
							|  |  |  | var request = require('request'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-08 14:55:29 -04:00
										 |  |  | var db = require('./mocks/databasemock'); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | var meta = require('../src/meta'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('Language detection', function () { | 
					
						
							|  |  |  | 	it('should detect the language for a guest', function (done) { | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 		meta.configs.set('autoDetectLang', 1, function (err) { | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 			assert.ifError(err); | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 			request(nconf.get('url') + '/api/config', { | 
					
						
							|  |  |  | 				headers: { | 
					
						
							|  |  |  | 					'Accept-Language': 'de-DE,de;q=0.5', | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 				json: true, | 
					
						
							|  |  |  | 			}, function (err, res, body) { | 
					
						
							|  |  |  | 				assert.ifError(err); | 
					
						
							|  |  |  | 				assert.ok(body); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				assert.strictEqual(body.userLang, 'de'); | 
					
						
							|  |  |  | 				done(); | 
					
						
							|  |  |  | 			}); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	it('should do nothing when disabled', function (done) { | 
					
						
							|  |  |  | 		meta.configs.set('autoDetectLang', 0, function (err) { | 
					
						
							|  |  |  | 			assert.ifError(err); | 
					
						
							|  |  |  | 			request(nconf.get('url') + '/api/config', { | 
					
						
							|  |  |  | 				headers: { | 
					
						
							|  |  |  | 					'Accept-Language': 'de-DE,de;q=0.5', | 
					
						
							|  |  |  | 				}, | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				json: true, | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 			}, function (err, res, body) { | 
					
						
							|  |  |  | 				assert.ifError(err); | 
					
						
							|  |  |  | 				assert.ok(body); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				assert.strictEqual(body.userLang, 'en-GB'); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 				done(); | 
					
						
							|  |  |  | 			}); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | }); |