Improve install.ts tests

This commit is contained in:
Shivam Mathur
2020-05-22 01:54:13 +05:30
parent b419442896
commit 5b06192e7c
3 changed files with 81 additions and 62 deletions

View File

@ -69,6 +69,7 @@ jest.mock('../src/install', () => ({
* @param extension_csv
* @param ini_values_csv
* @param coverage_driver
* @param tools
*/
function setEnv(
version: string | number,
@ -76,8 +77,7 @@ function setEnv(
extension_csv: string,
ini_values_csv: string,
coverage_driver: string,
tools: string,
pecl: string
tools: string
): void {
process.env['php-version'] = version.toString();
process.env['RUNNER_OS'] = os;
@ -85,26 +85,25 @@ function setEnv(
process.env['ini-values'] = ini_values_csv;
process.env['coverage'] = coverage_driver;
process.env['tools'] = tools;
process.env['pecl'] = pecl;
}
describe('Install', () => {
it('Test install on windows', async () => {
setEnv('7.0', 'win32', '', '', '', '', '');
// @ts-ignore
let script: string = await install.run();
setEnv('7.0', 'win32', '', '', '', '');
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('pwsh script.ps1 7.0 ' + __dirname);
setEnv('7.3', 'win32', '', '', '', '', '');
// @ts-ignore
script = await install.run();
setEnv('7.3', 'win32', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
setEnv('7.3', 'win32', 'a, b', 'a=b', 'x', '', '');
// @ts-ignore
script = await install.run();
setEnv('7.3', 'win32', 'a, b', 'a=b', 'x', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
@ -113,25 +112,15 @@ describe('Install', () => {
});
it('Test install on linux', async () => {
setEnv('7.3', 'linux', '', '', '', '', '');
// @ts-ignore
let script: string = await install.run();
setEnv('7.3', 'linux', '', '', '', '');
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('bash script.sh 7.3 ');
setEnv('7.3', 'linux', 'a, b', 'a=b', 'x', 'phpunit', 'true');
// @ts-ignore
script = await install.run();
expect(script).toContain('initial script');
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
expect(script).toContain('set coverage driver');
expect(script).toContain('bash script.sh 7.3');
expect(script).toContain('add_tool');
setEnv('7.3', 'linux', 'a, b', 'a=b', 'x', 'phpunit');
setEnv('7.3', 'linux', 'a, b', 'a=b', 'x', 'phpunit', '');
// @ts-ignore
script = await install.run();
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
@ -141,15 +130,15 @@ describe('Install', () => {
});
it('Test install on darwin', async () => {
setEnv('7.3', 'darwin', '', '', '', '', '');
// @ts-ignore
let script: string = await install.run();
setEnv('7.3', 'darwin', '', '', '', '');
let script: string = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('bash script.sh 7.3 ' + __dirname);
setEnv('7.3', 'darwin', 'a, b', 'a=b', 'x', '', '');
// @ts-ignore
script = await install.run();
setEnv('7.3', 'darwin', 'a, b', 'a=b', 'x', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('install extensions');
expect(script).toContain('edit php.ini');
@ -158,21 +147,21 @@ describe('Install', () => {
});
it('Test malformed version inputs', async () => {
setEnv('7.4.1', 'darwin', '', '', '', '', '');
// @ts-ignore
let script: string = await install.run();
setEnv('7.4.1', 'darwin', '', '', '', '');
let script: string = '' + '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('bash script.sh 7.4 ' + __dirname);
setEnv(8.0, 'darwin', '', '', '', '', '');
// @ts-ignore
script = await install.run();
setEnv(8.0, 'darwin', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('bash script.sh 8.0 ' + __dirname);
setEnv(8, 'darwin', '', '', '', '', '');
// @ts-ignore
script = await install.run();
setEnv(8, 'darwin', '', '', '', '');
script = '' + (await install.run());
expect(script).toContain('initial script');
expect(script).toContain('bash script.sh 8.0 ' + __dirname);
});