supersam/src/test/pwaTestUtils.js

33 lines
713 B
JavaScript

export const createBrowserWindow = ({
standalone = false,
serviceWorker = undefined,
navigatorStandalone = false,
} = {}) => {
return {
matchMedia: (query) => ({
media: query,
matches: query === "(display-mode: standalone)" ? standalone : false,
addEventListener: () => {},
removeEventListener: () => {},
}),
navigator: {
standalone: navigatorStandalone,
serviceWorker,
},
};
};
export const createBeforeInstallPromptEvent = ({
outcome = "accepted",
} = {}) => {
let promptCalls = 0;
return {
prompt: async () => {
promptCalls += 1;
},
userChoice: Promise.resolve({ outcome }),
getPromptCalls: () => promptCalls,
};
};