mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 19:17:13 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import '@angular/localize/init'
 | 
						|
import { jest } from '@jest/globals'
 | 
						|
import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'
 | 
						|
import { TextDecoder, TextEncoder } from 'util'
 | 
						|
if (process.env.NODE_ENV === 'test') {
 | 
						|
  setupZoneTestEnv()
 | 
						|
}
 | 
						|
global.TextEncoder = TextEncoder
 | 
						|
global.TextDecoder = TextDecoder
 | 
						|
 | 
						|
import { registerLocaleData } from '@angular/common'
 | 
						|
import localeAf from '@angular/common/locales/af'
 | 
						|
import localeAr from '@angular/common/locales/ar'
 | 
						|
import localeBe from '@angular/common/locales/be'
 | 
						|
import localeBg from '@angular/common/locales/bg'
 | 
						|
import localeCa from '@angular/common/locales/ca'
 | 
						|
import localeCs from '@angular/common/locales/cs'
 | 
						|
import localeDa from '@angular/common/locales/da'
 | 
						|
import localeDe from '@angular/common/locales/de'
 | 
						|
import localeEl from '@angular/common/locales/el'
 | 
						|
import localeEnGb from '@angular/common/locales/en-GB'
 | 
						|
import localeEs from '@angular/common/locales/es'
 | 
						|
import localeFa from '@angular/common/locales/fa'
 | 
						|
import localeFi from '@angular/common/locales/fi'
 | 
						|
import localeFr from '@angular/common/locales/fr'
 | 
						|
import localeHu from '@angular/common/locales/hu'
 | 
						|
import localeIt from '@angular/common/locales/it'
 | 
						|
import localeJa from '@angular/common/locales/ja'
 | 
						|
import localeKo from '@angular/common/locales/ko'
 | 
						|
import localeLb from '@angular/common/locales/lb'
 | 
						|
import localeNl from '@angular/common/locales/nl'
 | 
						|
import localeNo from '@angular/common/locales/no'
 | 
						|
import localePl from '@angular/common/locales/pl'
 | 
						|
import localePt from '@angular/common/locales/pt'
 | 
						|
import localeRo from '@angular/common/locales/ro'
 | 
						|
import localeRu from '@angular/common/locales/ru'
 | 
						|
import localeSk from '@angular/common/locales/sk'
 | 
						|
import localeSl from '@angular/common/locales/sl'
 | 
						|
import localeSr from '@angular/common/locales/sr'
 | 
						|
import localeSv from '@angular/common/locales/sv'
 | 
						|
import localeTr from '@angular/common/locales/tr'
 | 
						|
import localeUk from '@angular/common/locales/uk'
 | 
						|
import localeZh from '@angular/common/locales/zh'
 | 
						|
import localeZhHant from '@angular/common/locales/zh-Hant'
 | 
						|
 | 
						|
registerLocaleData(localeAf)
 | 
						|
registerLocaleData(localeAr)
 | 
						|
registerLocaleData(localeBe)
 | 
						|
registerLocaleData(localeBg)
 | 
						|
registerLocaleData(localeCa)
 | 
						|
registerLocaleData(localeCs)
 | 
						|
registerLocaleData(localeDa)
 | 
						|
registerLocaleData(localeDe)
 | 
						|
registerLocaleData(localeEl)
 | 
						|
registerLocaleData(localeEnGb)
 | 
						|
registerLocaleData(localeEs)
 | 
						|
registerLocaleData(localeFa)
 | 
						|
registerLocaleData(localeFi)
 | 
						|
registerLocaleData(localeFr)
 | 
						|
registerLocaleData(localeHu)
 | 
						|
registerLocaleData(localeIt)
 | 
						|
registerLocaleData(localeJa)
 | 
						|
registerLocaleData(localeKo)
 | 
						|
registerLocaleData(localeLb)
 | 
						|
registerLocaleData(localeNl)
 | 
						|
registerLocaleData(localeNo)
 | 
						|
registerLocaleData(localePl)
 | 
						|
registerLocaleData(localePt, 'pt-BR')
 | 
						|
registerLocaleData(localePt, 'pt-PT')
 | 
						|
registerLocaleData(localeRo)
 | 
						|
registerLocaleData(localeRu)
 | 
						|
registerLocaleData(localeSk)
 | 
						|
registerLocaleData(localeSl)
 | 
						|
registerLocaleData(localeSr)
 | 
						|
registerLocaleData(localeSv)
 | 
						|
registerLocaleData(localeTr)
 | 
						|
registerLocaleData(localeUk)
 | 
						|
registerLocaleData(localeZh)
 | 
						|
registerLocaleData(localeZhHant)
 | 
						|
 | 
						|
/* global mocks for jsdom */
 | 
						|
const mock = () => {
 | 
						|
  let storage: { [key: string]: string } = {}
 | 
						|
  return {
 | 
						|
    getItem: (key: string) => (key in storage ? storage[key] : null),
 | 
						|
    setItem: (key: string, value: string) => {
 | 
						|
      if (value.length > 1000000) throw new Error('localStorage overflow')
 | 
						|
      storage[key] = value || ''
 | 
						|
    },
 | 
						|
    removeItem: (key: string) => delete storage[key],
 | 
						|
    clear: () => (storage = {}),
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
Object.defineProperty(window, 'open', { value: jest.fn() })
 | 
						|
Object.defineProperty(window, 'localStorage', { value: mock() })
 | 
						|
Object.defineProperty(window, 'sessionStorage', { value: mock() })
 | 
						|
Object.defineProperty(window, 'getComputedStyle', {
 | 
						|
  value: () => ['-webkit-appearance'],
 | 
						|
})
 | 
						|
Object.defineProperty(navigator, 'clipboard', {
 | 
						|
  value: {
 | 
						|
    writeText: async () => {},
 | 
						|
  },
 | 
						|
})
 | 
						|
Object.defineProperty(navigator, 'canShare', { value: () => true })
 | 
						|
if (!navigator.share) {
 | 
						|
  Object.defineProperty(navigator, 'share', { value: jest.fn() })
 | 
						|
}
 | 
						|
if (!URL.createObjectURL) {
 | 
						|
  Object.defineProperty(window.URL, 'createObjectURL', { value: jest.fn() })
 | 
						|
}
 | 
						|
if (!URL.revokeObjectURL) {
 | 
						|
  Object.defineProperty(window.URL, 'revokeObjectURL', { value: jest.fn() })
 | 
						|
}
 | 
						|
Object.defineProperty(window, 'ResizeObserver', { value: mock() })
 | 
						|
Object.defineProperty(window, 'location', {
 | 
						|
  configurable: true,
 | 
						|
  value: { reload: jest.fn() },
 | 
						|
})
 | 
						|
 | 
						|
HTMLCanvasElement.prototype.getContext = <
 | 
						|
  typeof HTMLCanvasElement.prototype.getContext
 | 
						|
>jest.fn()
 | 
						|
 | 
						|
jest.mock('pdfjs-dist')
 |