// For more information about this file see https://dove.feathersjs.com/guides/cli/app.test.html import assert from 'assert' import axios from 'axios' import type { Server } from 'http' import { app } from '../src/app' const port = app.get('port') const appUrl = `http://${app.get('host')}:${port}` describe('Feathers application tests', () => { let server: Server before(async () => { server = await app.listen(port) }) after(async () => { await app.teardown() }) it('starts and shows the index page', async () => { const { data } = await axios.get(appUrl) assert.ok(data.indexOf('') !== -1) }) it('shows a 404 JSON error', async () => { try { await axios.get(`${appUrl}/path/to/nowhere`, { responseType: 'json' }) assert.fail('should never get here') } catch (error: any) { const { response } = error assert.strictEqual(response?.status, 404) assert.strictEqual(response?.data?.code, 404) assert.strictEqual(response?.data?.name, 'NotFound') } }) })