/** * File source: https://bit.ly/3ukaHTz * * Feel free to let us know via PR, if you find something broken in this contract * file. */ import type { Config } from '@japa/runner'; import TestUtils from '@ioc:Adonis/Core/TestUtils'; import { assert, runFailedTests, specReporter, apiClient } from '@japa/preset-adonis'; /* |-------------------------------------------------------------------------- | Japa Plugins |-------------------------------------------------------------------------- | | Japa plugins allows you to add additional features to Japa. By default | we register the assertion plugin. | | Feel free to remove existing plugins or add more. | */ export const plugins: Required['plugins'] = [assert(), runFailedTests(), apiClient()]; /* |-------------------------------------------------------------------------- | Japa Reporters |-------------------------------------------------------------------------- | | Japa reporters displays/saves the progress of tests as they are executed. | By default, we register the spec reporter to show a detailed report | of tests on the terminal. | */ export const reporters: Required['reporters'] = [specReporter()]; /* |-------------------------------------------------------------------------- | Runner hooks |-------------------------------------------------------------------------- | | Runner hooks are executed after booting the AdonisJS app and | before the test files are imported. | | You can perform actions like starting the HTTP server or running migrations | within the runner hooks | */ export const runnerHooks: Pick, 'setup' | 'teardown'> = { setup: [() => TestUtils.ace().loadCommands()], teardown: [], }; /* |-------------------------------------------------------------------------- | Configure individual suites |-------------------------------------------------------------------------- | | The configureSuite method gets called for every test suite registered | within ".adonisrc.json" file. | | You can use this method to configure suites. For example: Only start | the HTTP server when it is a functional suite. */ export const configureSuite: Required['configureSuite'] = (suite) => { if (suite.name === 'functional') { suite.setup(() => TestUtils.httpServer().start()); } };