I have been asked to write a test suite on a series of async functions in React Native. One function for example reads as follows...
export const refreshAuth = () =>
  new Promise((resolve, reject) =>
    getRefreshToken()
      .then(refreshJWT =>
        axios.post(`${SomeAPI.auth}/refresh`, {
          refreshJWT
        })
      )
      .then((res: AxiosResponse<JWTData>) => {
        onSignIn(res.data.accessJWT, res.data.refreshJWT);
        resolve(res.data.accessJWT);
      })
      .catch(err => {
        console.error('failed to refresh the access token', err);
        reject(err);
      })
  );
export const getRefreshToken = () => SecureStore.getItemAsync(REFRESH_KEY);
How would you properly test this function using Jest?
 
    