12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- describe("Converse.js Utilities", function() {
- it("applySiteSettings: recursively applies user settings", function () {
- const context = {};
- const settings = {
- show_toolbar: true,
- chatview_avatar_width: 32,
- chatview_avatar_height: 32,
- auto_join_rooms: [],
- visible_toolbar_buttons: {
- 'emojis': true,
- 'call': false,
- 'clear': true,
- 'toggle_occupants': true
- }
- };
- Object.assign(context, settings);
- let user_settings = {
- something_else: 'xxx',
- show_toolbar: false,
- chatview_avatar_width: 32,
- chatview_avatar_height: 48,
- auto_join_rooms: [
- 'anonymous@conference.nomnom.im',
- ],
- visible_toolbar_buttons: {
- 'emojis': false,
- 'call': false,
- 'toggle_occupants':false,
- 'invalid': false
- }
- };
- const utils = converse.env.utils;
- utils.applySiteSettings(context, settings, user_settings);
- expect(context.something_else).toBeUndefined();
- expect(context.show_toolbar).toBeFalsy();
- expect(context.chatview_avatar_width).toBe(32);
- expect(context.chatview_avatar_height).toBe(48);
- expect(Object.keys(context.visible_toolbar_buttons)).toEqual(Object.keys(settings.visible_toolbar_buttons));
- expect(context.visible_toolbar_buttons.emojis).toBeFalsy();
- expect(context.visible_toolbar_buttons.call).toBeFalsy();
- expect(context.visible_toolbar_buttons.toggle_occupants).toBeFalsy();
- expect(context.visible_toolbar_buttons.invalid).toBeFalsy();
- expect(context.auto_join_rooms.length).toBe(1);
- expect(context.auto_join_rooms[0]).toBe('anonymous@conference.nomnom.im');
- user_settings = {
- visible_toolbar_buttons: {
- 'toggle_occupants': true
- }
- };
- utils.applySiteSettings(context, settings, user_settings);
- expect(Object.keys(context.visible_toolbar_buttons)).toEqual(Object.keys(settings.visible_toolbar_buttons));
- expect(context.visible_toolbar_buttons.toggle_occupants).toBeTruthy();
- });
- });
|