1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-08 09:43:42 +01:00
bitwarden-browser/apps/browser/test.setup.ts
Cesar Gonzalez a1745b2dae
[PM-5742] Rework Usage of Extension APIs that Cannot be Called with the Background Service Worker (#7667)
* [PM-5742] Rework Usage of Extension APIs that Cannot be Called with the Background Service Worker

* [PM-5742] Implementing jest tests for the updated BrowserApi methods

* [PM-5742] Implementing jest tests to validate logic within added API calls

* [PM-5742] Implementing jest tests to validate logic within added API calls

* [PM-5742] Fixing broken Jest tests

* [PM-5742] Fixing linter error
2024-02-07 21:20:53 +00:00

126 lines
2.1 KiB
TypeScript

// Add chrome storage api
const QUOTA_BYTES = 10;
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(),
removeListener: jest.fn(),
},
sendMessage: jest.fn(),
getManifest: jest.fn(() => ({ version: 2 })),
getURL: jest.fn((path) => `chrome-extension://id/${path}`),
connect: jest.fn(),
onConnect: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
};
const contextMenus = {
create: jest.fn(),
removeAll: jest.fn(),
};
const i18n = {
getMessage: jest.fn(),
getUILanguage: jest.fn(),
};
const tabs = {
executeScript: jest.fn(),
sendMessage: jest.fn(),
query: jest.fn(),
onActivated: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
onReplaced: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
onUpdated: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
onRemoved: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
};
const scripting = {
executeScript: jest.fn(),
};
const windows = {
create: jest.fn(),
get: jest.fn(),
getCurrent: jest.fn(),
update: jest.fn(),
remove: jest.fn(),
onFocusChanged: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
};
const port = {
onMessage: {
addListener: jest.fn(),
removeListener: jest.fn(),
},
postMessage: jest.fn(),
};
const privacy = {
services: {
autofillAddressEnabled: {
get: jest.fn(),
set: jest.fn(),
},
autofillCreditCardEnabled: {
get: jest.fn(),
set: jest.fn(),
},
passwordSavingEnabled: {
get: jest.fn(),
set: jest.fn(),
},
},
};
const extension = {
getBackgroundPage: jest.fn(),
getViews: jest.fn(),
};
// set chrome
global.chrome = {
i18n,
storage,
runtime,
contextMenus,
tabs,
scripting,
windows,
port,
privacy,
extension,
} as any;