import app from "@adonisjs/core/services/app" import testUtils from "@adonisjs/core/services/test_utils" import { apiClient } from "@japa/api-client" import { assert } from "@japa/assert" import { pluginAdonisJS } from "@japa/plugin-adonisjs" import type { Config } from "@japa/runner/types" /** * This file is imported by the "bin/test.ts" entrypoint file */ /** * Configure Japa plugins in the plugins array. * Learn more - https://japa.dev/docs/runner-config#plugins-optional */ export const plugins: Config["plugins"] = [ assert(), apiClient(), pluginAdonisJS(app), ] /** * Configure lifecycle function to run before and after all the tests. * * The setup functions are executed before all the tests. * The teardown functions are executer after all the tests. */ export const runnerHooks: Required> = { setup: [ async () => { return await testUtils.db().truncate() }, ], teardown: [], } /** * Configure suites by tapping into the test suite instance. * Learn more - https://japa.dev/docs/test-suites#lifecycle-hooks */ export const configureSuite: Config["configureSuite"] = (suite) => { return suite.setup(async () => { return await testUtils.httpServer().start() }) }