mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import MastodonAPI from '@/mastodon/api_client'
 | 
						|
import { Worker } from 'jest-worker'
 | 
						|
 | 
						|
jest.mock('axios', () => {
 | 
						|
  const mockAxios = jest.requireActual('axios')
 | 
						|
  mockAxios.get = (_path: string) => {
 | 
						|
    return new Promise(resolve => {
 | 
						|
      setTimeout(() => {
 | 
						|
        console.log('hoge')
 | 
						|
        resolve({
 | 
						|
          data: 'hoge',
 | 
						|
          status: 200,
 | 
						|
          statusText: '200OK',
 | 
						|
          headers: [],
 | 
						|
          config: {}
 | 
						|
        })
 | 
						|
      }, 5000)
 | 
						|
    })
 | 
						|
  }
 | 
						|
  return mockAxios
 | 
						|
})
 | 
						|
 | 
						|
const worker = async (client: MastodonAPI.Client) => {
 | 
						|
  const w: any = new Worker(require.resolve('./cancelWorker.ts'))
 | 
						|
  await w.cancel(client)
 | 
						|
}
 | 
						|
 | 
						|
// Could not use jest-worker under typescript.
 | 
						|
// I'm waiting for resolve this issue.
 | 
						|
// https://github.com/facebook/jest/issues/8872
 | 
						|
describe.skip('cancel', () => {
 | 
						|
  const client = new MastodonAPI.Client('testToken', 'https://pleroma.io/api/v1')
 | 
						|
  it('should be raised', async () => {
 | 
						|
    const getPromise = client.get<{}>('/timelines/home')
 | 
						|
    worker(client)
 | 
						|
    await expect(getPromise).rejects.toThrow()
 | 
						|
  })
 | 
						|
})
 |