@absolunet/ioc2.1.0

View on GitHub

test/engines/Engine.js

//--------------------------------------------------------
//-- Node IoC - Test - Engines - Engine
//--------------------------------------------------------

import NotImplementedError from '../../foundation/exceptions/NotImplementedError';


/**
 * Abstract test engine.
 *
 * @memberof test.engines
 * @abstract
 * @hideconstructor
 */
class Engine {

	/**
	 * Engine accessor.
	 *
	 * @type {*}
	 * @abstract
	 */
	get engine() {
		throw new NotImplementedError(this, 'engine', 'engine', 'accessor');
	}

	/**
	 * Engine CLI path accessor.
	 *
	 * @type {string}
	 * @abstract
	 */
	get path() {
		throw new NotImplementedError(this, 'path', 'string', 'accessor');
	}

	/**
	 * Extra argument to send to the CLI from the tested folder type.
	 *
	 * @param {string} [repositoryName] - The repository name.
	 * @returns {string} The path arguments.
	 */
	getPathArgument(repositoryName) { // eslint-disable-line no-unused-vars
		return '';
	}

	/**
	 * Get describe method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get describe() {
		throw new NotImplementedError(this, 'describe', 'function', 'accessor');
	}

	/**
	 * Get test method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get test() {
		throw new NotImplementedError(this, 'test', 'function', 'accessor');
	}

	/**
	 * Get beforeAll method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get beforeAll() {
		throw new NotImplementedError(this, 'beforeAll', 'function', 'accessor');
	}

	/**
	 * Get beforeEach method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get beforeEach() {
		throw new NotImplementedError(this, 'beforeEach', 'function', 'accessor');
	}

	/**
	 * Get afterEach method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get afterEach() {
		throw new NotImplementedError(this, 'afterEach', 'function', 'accessor');
	}

	/**
	 * Get afterAll method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get afterAll() {
		throw new NotImplementedError(this, 'afterAll', 'function', 'accessor');
	}

	/**
	 * Get expect method.
	 *
	 * @type {Function}
	 * @abstract
	 */
	get expect() {
		throw new NotImplementedError(this, 'expect', 'function', 'accessor');
	}

	/**
	 * Get assert object.
	 *
	 * @type {*}
	 * @abstract
	 */
	get assert() {
		throw new NotImplementedError(this, 'asserts', 'object', 'accessor');
	}

}


export default Engine;