24 lines
802 B
TypeScript
24 lines
802 B
TypeScript
/**
|
|
* Helper, that is used to forcibly finalize all promises
|
|
* in thunk before running matcher against state.
|
|
*
|
|
* TODO: move this to setupTest or testUtils - it's only used in tests.
|
|
*/
|
|
export const executeThunk = async (thunk, dispatch, getState = undefined) => {
|
|
await thunk(dispatch, getState);
|
|
await new Promise(setImmediate);
|
|
};
|
|
|
|
/**
|
|
* Utility function for appending the browser timezone to the url
|
|
* Can be used on the backend when the user timezone is not set in the user account
|
|
*/
|
|
export const appendBrowserTimezoneToUrl = (url: string) => {
|
|
const browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
const urlObject = new URL(url);
|
|
if (browserTimezone) {
|
|
urlObject.searchParams.append('browser_timezone', browserTimezone);
|
|
}
|
|
return urlObject.href;
|
|
};
|