| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { beforeEach, describe, expect, it, vi } from 'vitest'
- import pingPostgrest from './pingPostgrest'
- import * as fetchModule from '@/data/fetchers'
- vi.mock('./constants', () => ({ API_URL: 'https://api.example.com' }))
- describe('pingPostgrest', () => {
- beforeEach(() => {
- vi.restoreAllMocks()
- })
- it('returns true if fetchHeadWithTimeout returns no error', async () => {
- vi.spyOn(fetchModule, 'fetchHeadWithTimeout').mockResolvedValue({ error: undefined })
- const result = await pingPostgrest('my-project')
- expect(result).toBe(true)
- })
- it('returns false if fetchHeadWithTimeout returns an error', async () => {
- vi.spyOn(fetchModule, 'fetchHeadWithTimeout').mockResolvedValue({ error: { message: 'fail' } })
- const result = await pingPostgrest('my-project')
- expect(result).toBe(false)
- })
- it('returns false if projectRef is undefined', async () => {
- const result = await pingPostgrest(undefined as any)
- expect(result).toBe(false)
- })
- it('passes timeout option to fetchHeadWithTimeout', async () => {
- const spy = vi
- .spyOn(fetchModule, 'fetchHeadWithTimeout')
- .mockResolvedValue({ error: undefined })
- await pingPostgrest('my-project', { timeout: 1234 })
- expect(spy).toHaveBeenCalledWith(
- 'https://api.example.com/projects/my-project/api/rest',
- [],
- expect.objectContaining({ timeout: 1234 })
- )
- })
- })
|