authelia/test/helpers/context/AutheliaSuite.ts
Clement Michaud 76fa325f08 [BREAKING] Create a suite for kubernetes tests.
Authelia client uses hash router instead of browser router in order to work
with Kubernetes nginx-ingress-controller. This is also better for users having
old browsers.

This commit is breaking because it requires to change the configuration of the
proxy to include the # in the URL of the login portal.
2019-03-16 00:13:27 +01:00

28 lines
989 B
TypeScript

import fs from 'fs';
interface AutheliaSuiteType {
(suitePath: string, cb: (this: Mocha.ISuiteCallbackContext) => void): Mocha.ISuite;
only: (suitePath: string, cb: (this: Mocha.ISuiteCallbackContext) => void) => Mocha.ISuite;
}
function AutheliaSuiteBase(suitePath: string,
cb: (this: Mocha.ISuiteCallbackContext) => void,
context: (description: string, ctx: (this: Mocha.ISuiteCallbackContext) => void) => Mocha.ISuite) {
const suite = suitePath.split('/').slice(-1)[0];
return context('Suite: ' + suite, function(this: Mocha.ISuiteCallbackContext) {
cb.call(this);
});
}
const AutheliaSuite = <AutheliaSuiteType>function(suitePath: string,
cb: (this: Mocha.ISuiteCallbackContext) => void) {
return AutheliaSuiteBase(suitePath, cb, describe);
}
AutheliaSuite.only = function(suitePath: string,
cb: (this: Mocha.ISuiteCallbackContext) => void) {
return AutheliaSuiteBase(suitePath, cb, describe.only);
}
export default AutheliaSuite as AutheliaSuiteType;