mirror of
https://github.com/bitwarden/browser
synced 2025-12-22 03:03:43 +00:00
PS-1133 Feature/mv3 browser observable memory caching (#3245)
* Create sessions sync structure * Add observing to session-syncer * Do not run syncer logic in decorator tests * Extract test constants * Change Observables to BehaviorSubject * Move sendMessage to static method in BrowserApi * Implement session sync * only watch in manifest v3 * Use session sync on folder service * Add array observable sync * Bypass cache on update from message * Create feature and dev flags for browser * Protect development-only methods with decorator * Improve todo comments for long-term residency * Use class properties in init * Do not reuse mocks * Use json (de)serialization patterns * Fix failing session storage in dev environment * Split up complex EncString constructor * Default false for decrypted session storage * Try removing hydrate EncString method * PR review * PR test review
This commit is contained in:
@@ -1,26 +1,32 @@
|
||||
// Add chrome storage api
|
||||
const get = jest.fn();
|
||||
const set = jest.fn();
|
||||
const has = jest.fn();
|
||||
const remove = jest.fn();
|
||||
const QUOTA_BYTES = 10;
|
||||
const getBytesInUse = jest.fn();
|
||||
const clear = jest.fn();
|
||||
global.chrome = {
|
||||
storage: {
|
||||
local: {
|
||||
set,
|
||||
get,
|
||||
remove,
|
||||
QUOTA_BYTES,
|
||||
getBytesInUse,
|
||||
clear,
|
||||
},
|
||||
session: {
|
||||
set,
|
||||
get,
|
||||
has,
|
||||
remove,
|
||||
},
|
||||
const storage = {
|
||||
local: {
|
||||
set: jest.fn(),
|
||||
get: jest.fn(),
|
||||
remove: jest.fn(),
|
||||
QUOTA_BYTES,
|
||||
getBytesInUse: jest.fn(),
|
||||
clear: jest.fn(),
|
||||
},
|
||||
session: {
|
||||
set: jest.fn(),
|
||||
get: jest.fn(),
|
||||
has: jest.fn(),
|
||||
remove: jest.fn(),
|
||||
},
|
||||
};
|
||||
|
||||
const runtime = {
|
||||
onMessage: {
|
||||
addListener: jest.fn(),
|
||||
},
|
||||
sendMessage: jest.fn(),
|
||||
getManifest: jest.fn(),
|
||||
};
|
||||
|
||||
// set chrome
|
||||
global.chrome = {
|
||||
storage,
|
||||
runtime,
|
||||
} as any;
|
||||
|
||||
Reference in New Issue
Block a user