TemplateTestConfig.fromArgs constructor

TemplateTestConfig.fromArgs(
  1. ArgResults argResults,
  2. String currentPath
)

Creates a TemplateTestConfig from command arguments.

Parameters:

  • argResults: Command-line argument results
  • currentPath: Current working directory path

Returns: A new TemplateTestConfig instance with parsed configuration

Implementation

factory TemplateTestConfig.fromArgs(
    ArgResults argResults, String currentPath) {
  final appsName = argResults['apps-name']?.toString().snakeCase;
  final featureName = argResults['feature-name']?.toString().snakeCase ?? '';
  final pageName = argResults['page-name']?.toString().snakeCase ?? '';

  final searchFileJson2Dart = appsName?.isNotEmpty ?? false
      ? '${appsName}_json2dart.yaml'
      : 'json2dart.yaml';

  String pathTestPage = join(
    currentPath,
    'features',
    featureName,
    'test',
    '${pageName}_test',
  );

  if (appsName?.toString().isNotEmpty ?? false) {
    pathTestPage = join(
      currentPath,
      'apps',
      appsName,
      'features',
      featureName,
      'test',
      '${pageName}_test',
    );
  }

  // Default empty map for json2DartMap, will be populated during execution
  final json2DartMap = <String, dynamic>{};

  return TemplateTestConfig(
    appsName: appsName,
    featureName: featureName,
    pageName: pageName,
    searchFileJson2Dart: searchFileJson2Dart,
    pathTestPage: pathTestPage,
    json2DartMap: json2DartMap,
  );
}