forked from geolba/tethys.backend
70 lines
2.3 KiB
TypeScript
70 lines
2.3 KiB
TypeScript
|
/**
|
||
|
* 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<Config>['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<Config>['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<Required<Config>, '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<Config>['configureSuite'] = (suite) => {
|
||
|
if (suite.name === 'functional') {
|
||
|
suite.setup(() => TestUtils.httpServer().start());
|
||
|
}
|
||
|
};
|