Files
2025-03-02 21:03:41 +07:00

47 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'bun:test'
import { Elysia } from '../../src'
describe('Stop', () => {
it('shuts down the server when stop(true) is called', async () => {
const app = new Elysia()
app.get('/health', 'hi')
const port = 8080
const server = app.listen(port)
await fetch(`http://localhost:${port}/health`)
await server.stop(true)
// Check if the server is still running
try {
await fetch(`http://localhost:${port}/health`)
throw new Error('Server is still running after teardown')
} catch (error) {
expect((error as Error).message).toContain('Unable to connect')
}
})
it('does not shut down the server when stop(false) is called', async () => {
const app = new Elysia()
app.get('/health', 'hi')
const port = 8081
const server = app.listen(port)
await fetch(`http://localhost:${port}/health`)
await server.stop(false)
// Check if the server is still running
try {
const response = await fetch(`http://localhost:${port}/health`)
expect(response.status).toBe(200)
expect(await response.text()).toBe('hi')
} catch (error) {
throw new Error('Server unexpectedly shut down')
}
})
})