pgadmin4/web/regression/javascript/browser/preferences_spec.js

116 lines
2.8 KiB
JavaScript
Raw Normal View History

2019-01-02 04:24:12 -06:00
/////////////////////////////////////////////////////////////
//
// pgAdmin 4 - PostgreSQL Tools
//
2023-01-02 00:23:55 -06:00
// Copyright (C) 2013 - 2023, The pgAdmin Development Team
2019-01-02 04:24:12 -06:00
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
import {pgBrowser} from 'pgadmin.browser.preferences';
import EventBus from '../../../pgadmin/static/js/helpers/EventBus';
2022-09-08 07:38:58 -05:00
let dummy_cache = [
{
id: 1,
mid: 1,
module:'module1',
name:'pref1',
value:{
alt: false,
shift: false,
control: false,
key: {
char: 'a',
key_code: 65,
},
},
},{
id: 2,
mid: 1,
module:'module1',
name:'pref2',
value: 123,
},{
id: 3,
mid: 2,
module:'module2',
name:'pref2',
value: true,
},
];
describe('preferences related functions test', function() {
describe('get preference data related functions', function(){
beforeEach(function(){
pgBrowser.preferences_cache = dummy_cache;
pgBrowser.Events = new EventBus();
});
it('generate_preference_version', function() {
pgBrowser.generate_preference_version();
expect(pgBrowser.generate_preference_version()).toBeGreaterThan(0);
});
it('preference_version', function() {
let version = 123;
pgBrowser.preference_version(version);
expect(pgBrowser.prefcache_version).toEqual(version);
expect(pgBrowser.preference_version()).toEqual(version);
});
it('get_preference', function(){
expect(pgBrowser.get_preference('module1','pref1')).toEqual({
id: 1,
mid: 1,
module:'module1',
name:'pref1',
value:{
alt: false,
shift: false,
control: false,
key: {
char: 'a',
key_code: 65,
},
},
});
});
it('get_preferences_for_module', function() {
expect(pgBrowser.get_preferences_for_module('module1')).toEqual({
'pref1':{
alt: false,
shift: false,
control: false,
key: {
char: 'a',
key_code: 65,
},
},
'pref2': 123,
});
});
it('get_preference_for_id', function() {
expect(pgBrowser.get_preference_for_id(3)).toEqual({
id: 3,
mid: 2,
module:'module2',
name:'pref2',
value: true,
});
});
it('onPreferencesChange', function() {
spyOn(pgBrowser.Events, 'on');
2022-09-08 07:38:58 -05:00
let eventHandler = jasmine.createSpy('eventHandler');
pgBrowser.onPreferencesChange('somemodule', eventHandler);
if(pgBrowser.Events.on.calls.mostRecent()) {
expect(pgBrowser.Events.on.calls.mostRecent().args[0]).toEqual('prefchange:somemodule');
}
});
});
});