Skip to content
Snippets Groups Projects
Select Git revision
  • 4ff3846e9415a6122b0b966be089eec3f0117f4f
  • main default protected
  • jw_sonar
  • v6.0
  • ask-user-to-delete-exercises-on-duplicates
  • v5.0
  • open_tool_for_self_hosting
  • jw_sonar_backup
  • move-to-esm-only
  • v4.2
  • v4.1
11 results

ClientsSharedExerciseHelper.ts

Blame
  • ClientsSharedExerciseHelper.ts 2.14 KiB
    import ExerciseResultsFile from '../../../shared/types/Dojo/ExerciseResultsFile';
    import chalk               from 'chalk';
    import boxen               from 'boxen';
    import Icon                from '../../types/Icon';
    
    
    class ClientsSharedExerciseHelper {
        displayExecutionResults(exerciseResults: ExerciseResultsFile, containerExitCode: number, Style: { INFO: chalk.Chalk, SUCCESS: chalk.Chalk, FAILURE: chalk.Chalk }, additionalText: string = '') {
            const finalLogGlobalResult = `${ Style.INFO('Global result') } : ${ exerciseResults.success ? Style.SUCCESS(`${ Icon.SUCCESS } Success`) : Style.FAILURE(`${ Icon.FAILURE } Failure`) }`;
    
            const finalLogExecutionExitCode = `${ Style.INFO('Execution exit code') } : ${ (containerExitCode == 0 ? Style.SUCCESS : Style.FAILURE)(containerExitCode) }`;
    
            const finalLogResultNumbers = exerciseResults.successfulTests || exerciseResults.failedTests ? `\n\n${ Style.SUCCESS('Tests passed') } : ${ exerciseResults.successfulTests ?? '--' }\n${ Style.FAILURE('Tests failed') } : ${ exerciseResults.failedTests ?? '--' }` : '';
    
            const finalLogSuccessResultDetails = (exerciseResults.successfulTestsList ?? []).map(testName => `- ${ Icon.SUCCESS } ${ testName }`).join('\n');
            const finalLogFailedResultDetails = (exerciseResults.failedTestsList ?? []).map(testName => `- ${ Icon.FAILURE } ${ testName }`).join('\n');
            const finalLogResultDetails = exerciseResults.successfulTestsList || exerciseResults.failedTestsList ? `\n\n${ Style.INFO('Tests') } :${ finalLogSuccessResultDetails != '' ? '\n' + finalLogSuccessResultDetails : '' }${ finalLogFailedResultDetails != '' ? '\n' + finalLogFailedResultDetails : '' }` : '';
    
            console.log(boxen(`${ finalLogGlobalResult }\n\n${ finalLogExecutionExitCode }${ finalLogResultNumbers }${ finalLogResultDetails }${ additionalText }`, {
                title         : 'Results',
                titleAlignment: 'center',
                borderColor   : 'yellow',
                borderStyle   : 'bold',
                margin        : 1,
                padding       : 1,
                textAlignment : 'left'
            }));
        }
    }
    
    
    export default new ClientsSharedExerciseHelper();