| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-16 16:24:17 -05:00
										 |  |  | const assert = require('assert'); | 
					
						
							| 
									
										
										
										
											2021-02-04 00:06:15 -07:00
										 |  |  | const nconf = require('nconf'); | 
					
						
							|  |  |  | const request = require('request'); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-04 00:06:15 -07:00
										 |  |  | const db = require('./mocks/databasemock'); | 
					
						
							|  |  |  | const meta = require('../src/meta'); | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-04 00:01:39 -07:00
										 |  |  | describe('Language detection', () => { | 
					
						
							|  |  |  | 	it('should detect the language for a guest', (done) => { | 
					
						
							|  |  |  | 		meta.configs.set('autoDetectLang', 1, (err) => { | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 			assert.ifError(err); | 
					
						
							| 
									
										
										
										
											2021-02-03 23:59:08 -07:00
										 |  |  | 			request(`${nconf.get('url')}/api/config`, { | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				headers: { | 
					
						
							|  |  |  | 					'Accept-Language': 'de-DE,de;q=0.5', | 
					
						
							|  |  |  | 				}, | 
					
						
							|  |  |  | 				json: true, | 
					
						
							| 
									
										
										
										
											2021-02-04 00:01:39 -07:00
										 |  |  | 			}, (err, res, body) => { | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				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
										 |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-04 00:01:39 -07:00
										 |  |  | 	it('should do nothing when disabled', (done) => { | 
					
						
							|  |  |  | 		meta.configs.set('autoDetectLang', 0, (err) => { | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 			assert.ifError(err); | 
					
						
							| 
									
										
										
										
											2021-02-03 23:59:08 -07:00
										 |  |  | 			request(`${nconf.get('url')}/api/config`, { | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 				headers: { | 
					
						
							|  |  |  | 					'Accept-Language': 'de-DE,de;q=0.5', | 
					
						
							|  |  |  | 				}, | 
					
						
							| 
									
										
										
										
											2018-12-07 11:29:20 -05:00
										 |  |  | 				json: true, | 
					
						
							| 
									
										
										
										
											2021-02-04 00:01:39 -07:00
										 |  |  | 			}, (err, res, body) => { | 
					
						
							| 
									
										
										
										
											2017-04-21 23:54:59 -06:00
										 |  |  | 				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(); | 
					
						
							|  |  |  | 			}); | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 	}); | 
					
						
							|  |  |  | }); |