getPreloadedData.spec.tsx 862 B

12345678910111213141516171819202122
  1. import {getPreloadedDataPromise} from './getPreloadedData';
  2. describe('getPreloadedDataPromise', () => {
  3. beforeEach(() => {
  4. (window as any).__sentry_preload = {
  5. orgSlug: 'slug',
  6. };
  7. });
  8. it('should register fallback promise', async () => {
  9. const fallback = jest.fn(() => Promise.resolve('fallback'));
  10. const result = await getPreloadedDataPromise('name', 'slug', fallback);
  11. expect(result).toBe('fallback');
  12. expect((window as any).__sentry_preload.name_fallback).toBeInstanceOf(Promise);
  13. });
  14. it('should only call fallback on failure', async () => {
  15. (window as any).__sentry_preload.name = Promise.resolve('success');
  16. const fallback = jest.fn();
  17. const result = await getPreloadedDataPromise('name', 'slug', fallback, true);
  18. expect(result).toBe('success');
  19. expect(fallback).not.toHaveBeenCalled();
  20. });
  21. });