UNPKG

vimo-dt

Version:

A Vue2.x UI Project For Mobile & HyBrid

108 lines (105 loc) 3.77 kB
'use strict'; var _config = require('../config'); var _platform = require('../../platform/platform'); var MOCK_CONFIG = { urlString: 'http://www.xx.com/api/dashboard', urlFunction: function urlFunction(platform) { var type = platform.platforms()[0]; return 'http://www.xx.com/api/' + type + '/dashboard'; }, booleanValueTrue: true, stringValueTrue: 'true', booleanValueFalse: false, 'nullValue': null, numberValue: 10 }; describe('config.js', function () { var configInstance; var platformInstance; beforeAll(function () { platformInstance = (0, _platform.setupPlatform)(); platformInstance.setQueryParams(new _platform.QueryParams('https://xxx.github.io/xxx?vmPageTransition=fade-right-transition&vmRecordPosition=false&vmTabsHighlight=true#/action-sheet')); configInstance = (0, _config.setupConfig)(MOCK_CONFIG, platformInstance); }); afterAll(function () { platformInstance = null; configInstance = null; }); it('get():string', function () { expect(configInstance.get('urlString')).toEqual('http://www.xx.com/api/dashboard'); }); it('get():function', function () { expect(configInstance.get('urlFunction')).toEqual('http://www.xx.com/api/core/dashboard'); }); it('get():default', function () { expect(configInstance.get('whatever', 'here')).toEqual('here'); }); it('get():undefined', function () { expect(function () { configInstance.get(undefined); }).toThrow('config key is not defined'); }); it('get():withQueryParam:string', function () { expect(configInstance.get('pageTransition')).toEqual('fade-right-transition'); }); it('get():withQueryParamL:true', function () { expect(configInstance.get('tabsHighlight')).toBeTruthy(); }); it('get():withQueryParamL:false', function () { expect(configInstance.get('recordPosition')).toBeFalsy(); }); it('get():platform-mode', function () { expect(configInstance.get('mode')).toEqual('ios'); }); it('getBoolean():true<boolean>', function () { expect(configInstance.getBoolean('booleanValueTrue')).toBeTruthy(); }); it('getBoolean():true<string>', function () { expect(configInstance.getBoolean('stringValueTrue')).toBeTruthy(); }); it('getBoolean():false<boolean>', function () { expect(configInstance.getBoolean('booleanValueFalse')).toBeFalsy(); }); it('getBoolean():nullValue', function () { expect(configInstance.getBoolean('nullValue', '123')).toEqual('123'); }); it('getBoolean():object', function () { expect(configInstance.getBoolean({ a: 123 })).toBeFalsy(); }); it('getNumber()', function () { expect(configInstance.getNumber('numberValue')).toEqual(10); }); it('getNumber():fallback', function () { expect(configInstance.getNumber('numberValueNull', 100)).toEqual(100); }); it('set(mode, key, value)', function () { configInstance.set('core', 'name', 'Hsiang'); expect(configInstance.get('name')).toEqual('Hsiang'); }); it('set(key, value)', function () { configInstance.set('name', 'Hsiang'); expect(configInstance.get('name')).toEqual('Hsiang'); }); it('settings()', function () { expect(configInstance.settings()).toEqual(MOCK_CONFIG); }); it('settings(mode:{key:value})', function () { configInstance.settings('core', { age: '10' }); expect(configInstance.get('age')).toEqual('10'); }); it('settings({key:value})', function () { configInstance.settings({ age: '10' }); expect(configInstance.get('age')).toEqual('10'); }); it('cache()', function () { configInstance.settings({ age: '10' }); expect(configInstance.get('age')).toEqual('10'); expect(JSON.stringify(configInstance.cache())).toEqual('{"age":"10"}'); }); });