| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| suite('Bookmarks policies', function() { |
| let store; |
| let app; |
| |
| setup(function() { |
| const nodes = testTree(createFolder('1', [ |
| createItem('11'), |
| ])); |
| store = new bookmarks.TestStore({ |
| nodes: nodes, |
| folderOpenState: getAllFoldersOpenState(nodes), |
| selectedFolder: '1', |
| }); |
| store.setReducersEnabled(true); |
| store.expectAction('set-incognito-availability'); |
| store.expectAction('set-can-edit'); |
| store.replaceSingleton(); |
| |
| app = document.createElement('bookmarks-app'); |
| replaceBody(app); |
| }); |
| |
| test('incognito availability updates when changed', function() { |
| const commandManager = bookmarks.CommandManager.getInstance(); |
| // Incognito is disabled during testGenPreamble(). Wait for the front-end to |
| // load the config. |
| return store.waitForAction('set-incognito-availability').then(action => { |
| assertEquals(IncognitoAvailability.DISABLED, |
| store.data.prefs.incognitoAvailability); |
| assertFalse( |
| commandManager.canExecute(Command.OPEN_INCOGNITO, new Set(['11']))); |
| |
| return cr.sendWithPromise( |
| 'testSetIncognito', IncognitoAvailability.ENABLED); |
| }).then(() => { |
| assertEquals(IncognitoAvailability.ENABLED, |
| store.data.prefs.incognitoAvailability); |
| assertTrue( |
| commandManager.canExecute(Command.OPEN_INCOGNITO, new Set(['11']))); |
| }); |
| }); |
| |
| test('canEdit updates when changed', function() { |
| const commandManager = bookmarks.CommandManager.getInstance(); |
| return store.waitForAction('set-can-edit').then(action => { |
| assertFalse(store.data.prefs.canEdit); |
| assertFalse(commandManager.canExecute(Command.DELETE, new Set(['11']))); |
| |
| return cr.sendWithPromise('testSetCanEdit', true); |
| }).then(() => { |
| assertTrue(store.data.prefs.canEdit); |
| assertTrue(commandManager.canExecute(Command.DELETE, new Set(['11']))); |
| }); |
| }); |
| }); |