yeoman-test

  • Version 11.5.2
  • Published
  • 90.9 kB
  • 4 dependencies
  • MIT license

Install

npm i yeoman-test
yarn add yeoman-test
pnpm add yeoman-test

Overview

Test utilities for Yeoman generators

Index

Variables

Functions

Classes

Type Aliases

Variables

variable context

const context: TestContext;

    variable defaultHelpers

    const defaultHelpers: YeomanTest;

      variable result

      const result: RunResult<BaseGenerator>;
      • Provides a proxy for last executed context result.

      Functions

      function createHelpers

      createHelpers: <T extends YeomanTest = YeomanTest>(
      options: Partial<T> & { factory?: () => T }
      ) => T;

        function typedResult

        typedResult: <GeneratorType extends BaseGenerator>() => RunResult<GeneratorType>;

          Classes

          class RunContext

          class RunContext<GeneratorType extends BaseGenerator = BaseGenerator>
          extends RunContextBase<GeneratorType>
          implements Promise<RunResult<GeneratorType>> {}

            property [Symbol.toStringTag]

            readonly [Symbol.toStringTag]: string;

              method catch

              catch: <TResult = never>(
              onrejected?: (reason: any) => TResult | PromiseLike<TResult>
              ) => Promise<RunResult<GeneratorType> | TResult>;

                method finally

                finally: (
                onfinally?: (() => void) | undefined
                ) => Promise<RunResult<GeneratorType>>;

                  method then

                  then: <TResult1 = RunResult<GeneratorType>, TResult2 = never>(
                  onfulfilled?: (
                  value: RunResult<GeneratorType>
                  ) => TResult1 | PromiseLike<TResult1>,
                  onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>
                  ) => Promise<TResult1 | TResult2>;

                    class RunContextBase

                    class RunContextBase<
                    GeneratorType extends BaseGenerator = DefaultGeneratorApi
                    > extends EventEmitter {}

                      constructor

                      constructor(
                      generatorType?: any,
                      settings?: RunContextSettings,
                      environmentOptions?: any,
                      helpers?: YeomanTest
                      );
                      • This class provide a run context object to façade the complexity involved in setting up a generator for testing

                        Parameter Generator

                        Namespace or generator constructor. If the later is provided, then namespace is assumed to be 'gen:test' in all cases

                        Parameter settings

                        {this}

                      property askedQuestions

                      readonly askedQuestions: AskedQuestions;

                        property completed

                        completed: boolean;

                          property editor

                          editor: MemFsEditor;

                            property env

                            env: any;

                              property environmentPromise

                              protected environmentPromise?: PromiseRunResult<GeneratorType>;

                                property envOptions

                                readonly envOptions: any;

                                  property generator

                                  generator: BaseGenerator;

                                    property Generator

                                    protected readonly Generator?: any;

                                      property helpers

                                      protected readonly helpers: YeomanTest;

                                        property memFs

                                        memFs: Store<MemFsEditorFile>;

                                          property mockedGeneratorFactory

                                          mockedGeneratorFactory: MockedGeneratorFactory<any>;

                                            property mockedGenerators

                                            readonly mockedGenerators: Record<string, BaseGenerator>;

                                              property settings

                                              readonly settings: RunContextSettings;

                                                property spawnStub

                                                spawnStub?: any;

                                                  property targetDirectory

                                                  targetDirectory?: string;

                                                    method assertNotBuild

                                                    protected assertNotBuild: () => void;

                                                      method build

                                                      build: () => Promise<void>;
                                                      • Build the generator and the environment. {RunContext|false} this

                                                      method cd

                                                      cd: (dirPath: string) => this;
                                                      • Parameter dirPath

                                                        Directory path (relative to CWD). Prefer passing an absolute file path for predictable results run context instance

                                                        Deprecated

                                                        Change directory without deleting directory content.

                                                      method cleanTestDirectory

                                                      cleanTestDirectory: (force?: boolean) => void;
                                                      • Clean the directory used for tests inside inDir/inTmpDir

                                                        Parameter force

                                                        force directory cleanup for not tmpdir

                                                      method cleanup

                                                      cleanup: () => void;
                                                      • Clean the directory used for tests inside inDir/inTmpDir

                                                        Parameter force

                                                        force directory cleanup for not tmpdir

                                                      method cleanupTemporaryDir

                                                      cleanupTemporaryDir: () => void;
                                                      • Clean the directory used for tests inside inDir/inTmpDir

                                                        Parameter force

                                                        force directory cleanup for not tmpdir

                                                      method commitFiles

                                                      commitFiles: () => this;
                                                      • Commit mem-fs files.

                                                      method doInDir

                                                      doInDir: (callback: (folderPath: string) => void) => this;
                                                      • Register an callback to prepare the destination folder.

                                                        Parameter cb

                                                        callback who'll receive the folder path as argument this - run context instance

                                                      method inDir

                                                      inDir: (dirPath: string, callback?: (folderPath: string) => void) => this;
                                                      • Parameter dirPath

                                                        Directory path (relative to CWD). Prefer passing an absolute file path for predictable results

                                                        Parameter cb

                                                        callback who'll receive the folder path as argument run context instance

                                                        Deprecated

                                                        Clean the provided directory, then change directory into it

                                                      method inTmpDir

                                                      inTmpDir: (callback?: (folderPath: string) => void) => this;
                                                      • Cleanup a temporary directory and change the CWD into it

                                                        This method is called automatically when creating a RunContext. Only use it if you need to use the callback.

                                                        Parameter cb

                                                        callback who'll receive the folder path as argument this - run context instance

                                                      method on

                                                      on: (
                                                      eventName: string | symbol,
                                                      listener: (...arguments_: any[]) => void
                                                      ) => this;

                                                        method onBeforePrepare

                                                        onBeforePrepare: (callback: (this: this) => void | Promise<void>) => this;
                                                        • Execute callback prefore parepare

                                                          Parameter callback

                                                          Returns

                                                        method onEnvironment

                                                        onEnvironment: (
                                                        callback: (this: this, environment: DefaultEnvironmentApi) => any
                                                        ) => this;
                                                        • Execute callback after environment is ready

                                                          Parameter callback

                                                          Returns

                                                        method onGenerator

                                                        onGenerator: (callback: (this: this, generator: GeneratorType) => any) => this;
                                                        • Execute callback after generator is ready

                                                          Parameter callback

                                                          Returns

                                                        method onTargetDirectory

                                                        onTargetDirectory: (
                                                        callback: (this: this, targetDirectory: string) => any
                                                        ) => this;
                                                        • Execute callback after targetDirectory is set

                                                          Parameter callback

                                                          Returns

                                                        method prepare

                                                        prepare: () => Promise<void>;

                                                          method restore

                                                          restore: () => this;
                                                          • Restore cwd to initial cwd. {this} run context instance

                                                          method run

                                                          run: () => PromiseRunResult<GeneratorType>;
                                                          • Run the generator on the environment and promises a RunResult instance. {PromiseRunResult} Promise a RunResult instance.

                                                          method toPromise

                                                          protected toPromise: () => PromiseRunResult<GeneratorType>;
                                                          • Return a promise representing the generator run process Promise resolved on end or rejected on error

                                                          method withAdapterOptions

                                                          withAdapterOptions: (options: Omit<TestAdapterOptions, 'mockedAnswers'>) => this;
                                                          • TestAdapter options.

                                                          method withAnswers

                                                          withAnswers: (
                                                          answers: PromptAnswers,
                                                          options?: Omit<DummyPromptOptions, 'mockedAnswers'>
                                                          ) => this;
                                                          • Mock answers for prompts

                                                            Parameter answers

                                                            Answers to the prompt questions

                                                            Parameter options

                                                            Options or callback. {this}

                                                          method withArguments

                                                          withArguments: (arguments_: string | string[]) => this;
                                                          • Provide arguments to the run context

                                                            Parameter args

                                                            command line arguments as Array or space separated string

                                                          method withEnvironment

                                                          withEnvironment: (
                                                          callback: (
                                                          this: this,
                                                          environment: DefaultEnvironmentApi
                                                          ) => DefaultEnvironmentApi | void
                                                          ) => this;
                                                          • Create an environment

                                                            This method is called automatically when creating a RunContext. Only use it if you need to use the callback.

                                                            Parameter cb

                                                            callback who'll receive the folder path as argument {this} run context instance

                                                          method withEnvironmentRun

                                                          withEnvironmentRun: (
                                                          callback: (
                                                          this: this,
                                                          env: DefaultEnvironmentApi,
                                                          gen: GeneratorType
                                                          ) => void
                                                          ) => this;
                                                          • Customize enviroment run method.

                                                            Parameter callback

                                                            {this} run context instance

                                                          method withFiles

                                                          withFiles: {
                                                          (files: Record<string, string | Record<string, unknown>>): this;
                                                          (
                                                          relativePath: string,
                                                          files: Record<string, string | Record<string, unknown>>
                                                          ): this;
                                                          };
                                                          • Add files to mem-fs. Files will be resolved relative to targetDir.

                                                            Files with Object content will be merged to existing content. To avoid merging, JSON.stringify the content.

                                                          method withGenerators

                                                          withGenerators: (dependencies: Dependency[]) => this;
                                                          • Provide dependent generators

                                                            Parameter dependencies

                                                            paths to the generators dependencies {this}

                                                            Example 1

                                                            var angular = new RunContext('../../app'); angular.withGenerators([ '../../common', '../../controller', '../../main', [helpers.createDummyGenerator(), 'testacular:app'] ]); angular.on('end', function () { // assert something });

                                                          method withKeepFsState

                                                          withKeepFsState: () => this;
                                                          • Don't reset mem-fs state cleared to aggregate snapshots from multiple runs.

                                                          method withLocalConfig

                                                          withLocalConfig: (localConfig: any) => this;
                                                          • Mock the local configuration with the provided config

                                                            Parameter localConfig

                                                            should look just like if called config.getAll()

                                                          method withLookups

                                                          withLookups: (lookups: LookupOptions | LookupOptions[]) => this;
                                                          • Run lookup on the environment.

                                                            Parameter lookups

                                                            lookup to run.

                                                          method withMockedGeneratorFactory

                                                          withMockedGeneratorFactory: (
                                                          mockedGeneratorFactory: MockedGeneratorFactory
                                                          ) => this;

                                                            method withMockedGenerators

                                                            withMockedGenerators: (namespaces: string[]) => this;
                                                            • Create mocked generators

                                                              Parameter namespaces

                                                              namespaces of mocked generators this

                                                              Example 1

                                                              var angular = helpers .create('../../app') .withMockedGenerators([ 'foo:app', 'foo:bar', ]) .run() .then(runResult => assert(runResult .mockedGenerators['foo:app'] .calledOnce));

                                                            method withOptions

                                                            withOptions: (
                                                            options: Partial<
                                                            Omit<
                                                            GetGeneratorOptions<GeneratorType>,
                                                            'env' | 'namespace' | 'resolved'
                                                            >
                                                            >
                                                            ) => this;
                                                            • Provide options to the run context

                                                              Parameter options

                                                              command line options (e.g. --opt-one=foo) {this}

                                                            method withPrompts

                                                            withPrompts: (
                                                            answers: PromptAnswers,
                                                            options?: Omit<DummyPromptOptions, 'mockedAnswers'>
                                                            ) => this;
                                                            • Parameter answers

                                                              Answers to the prompt questions

                                                              Parameter options

                                                              Options or callback.

                                                              Parameter

                                                              {Function} [options.callback] - Callback.

                                                              Parameter

                                                              {Boolean} [options.throwOnMissingAnswer] - Throw if a answer is missing. {this}

                                                              Deprecated

                                                              Mock the prompt with dummy answers

                                                            method withSpawnMock

                                                            withSpawnMock: <StubType = any>(
                                                            options?:
                                                            | ((...arguments_: any[]) => any)
                                                            | {
                                                            stub?: (...arguments_: any[]) => any;
                                                            registerNodeMockDefaults?: boolean;
                                                            callback?: ({
                                                            stub,
                                                            implementation,
                                                            }: {
                                                            stub: StubType;
                                                            implementation: any;
                                                            }) => void | Promise<void>;
                                                            }
                                                            ) => this;

                                                              method withYoRc

                                                              withYoRc: (content: string | Record<string, unknown>) => this;
                                                              • Add .yo-rc.json to mem-fs.

                                                                Parameter content

                                                                Returns

                                                              method withYoRcConfig

                                                              withYoRcConfig: (key: string, content: Record<string, unknown>) => this;
                                                              • Add a generator config to .yo-rc.json

                                                              class RunResult

                                                              class RunResult<GeneratorType extends BaseGenerator = BaseGenerator> {}
                                                              • This class provides utilities for testing generated content.

                                                              constructor

                                                              constructor(options: RunResultOptions<GeneratorType>);

                                                                property askedQuestions

                                                                readonly askedQuestions: AskedQuestions;

                                                                  property cwd

                                                                  cwd: string;

                                                                    property env

                                                                    env: any;

                                                                      property fs

                                                                      fs: MemFsEditor;

                                                                        property generator

                                                                        generator: BaseGenerator;

                                                                          property memFs

                                                                          memFs: Store<MemFsEditorFile>;

                                                                            property mockedGenerators

                                                                            mockedGenerators: Record<string, BaseGenerator>;

                                                                              property oldCwd

                                                                              oldCwd: string;

                                                                                property options

                                                                                options: RunResultOptions<GeneratorType>;

                                                                                  property spawnStub

                                                                                  spawnStub?: any;

                                                                                    method assertEqualsFileContent

                                                                                    assertEqualsFileContent: {
                                                                                    (file: string, expectedContent: string): void;
                                                                                    (pairs: [string, string][]): void;
                                                                                    };
                                                                                    • Assert that a file's content is the same as the given string

                                                                                      Parameter file

                                                                                      path to a file

                                                                                      Parameter expectedContent

                                                                                      the expected content of the file

                                                                                      Parameter pairs

                                                                                      an array of arrays, where each subarray is a [String, String] pair

                                                                                      Example 1

                                                                                      result.assertEqualsFileContent( 'data.js', 'const greeting = "Hello";\nexport default { greeting }' );

                                                                                      Assert that each file in an array of file-string pairs equals its corresponding string

                                                                                      Example 2

                                                                                      result.assertEqualsFileContent([ ['data.js', 'const greeting = "Hello";\nexport default { greeting }'], ['user.js', 'export default {\n name: 'Coleman',\n age: 0\n}'] ]);

                                                                                    method assertFile

                                                                                    assertFile: (path: string | string[]) => void;
                                                                                    • Assert that a file exists

                                                                                      Parameter path

                                                                                      path to a file

                                                                                      Parameter paths

                                                                                      an array of paths to files

                                                                                      Example 1

                                                                                      result.assertFile('templates/user.hbs');

                                                                                      Assert that each files in the array exists

                                                                                      Example 2

                                                                                      result.assertFile(['templates/user.hbs', 'templates/user/edit.hbs']);

                                                                                    method assertFileContent

                                                                                    assertFileContent: {
                                                                                    (file: string, reg: string | RegExp): void;
                                                                                    (pairs: [string, string | RegExp][]): void;
                                                                                    };
                                                                                    • Assert that a file's content matches a regex or string

                                                                                      Parameter file

                                                                                      path to a file

                                                                                      Parameter reg

                                                                                      regex / string that will be used to search the file

                                                                                      Parameter pairs

                                                                                      an array of arrays, where each subarray is a [String, RegExp] pair

                                                                                      Example 1

                                                                                      result.assertFileContent('models/user.js', /App.User = DS.Model.extend/); result.assertFileContent('models/user.js', 'App.User = DS.Model.extend');

                                                                                      Assert that each file in an array of file-regex pairs matches its corresponding regex

                                                                                      Example 2

                                                                                      var arg = [ [ 'models/user.js', /App.User = DS.Model.extend/ ], [ 'controllers/user.js', /App.UserController = Ember.ObjectController.extend/ ] ] result.assertFileContent(arg);

                                                                                    method assertGeneratorComposed

                                                                                    assertGeneratorComposed: (generator: string) => void;
                                                                                    • Assert that a generator was composed

                                                                                      Parameter generator

                                                                                      the namespace of the mocked generator

                                                                                    method assertGeneratorComposedOnce

                                                                                    assertGeneratorComposedOnce: (generator: string) => void;
                                                                                    • Assert that a generator was composed only once

                                                                                      Parameter generator

                                                                                      the namespace of the mocked generator

                                                                                    method assertGeneratorNotComposed

                                                                                    assertGeneratorNotComposed: (generator: string) => void;
                                                                                    • Assert that a generator was composed

                                                                                      Parameter generator

                                                                                      the namespace of the mocked generator

                                                                                    method assertJsonFileContent

                                                                                    assertJsonFileContent: (filename: string, content: Record<string, any>) => void;
                                                                                    • Assert a JSON file contains the provided keys

                                                                                      Parameter filename

                                                                                      Parameter content

                                                                                      An object of key/values the file should contains

                                                                                    method assertNoFile

                                                                                    assertNoFile: (files: string | string[]) => void;
                                                                                    • Assert that a file doesn't exist

                                                                                      Parameter file

                                                                                      path to a file

                                                                                      Parameter pairs

                                                                                      an array of paths to files

                                                                                      Example 1

                                                                                      result.assertNoFile('templates/user.hbs');

                                                                                      Assert that each of an array of files doesn't exist

                                                                                      Example 2

                                                                                      result.assertNoFile(['templates/user.hbs', 'templates/user/edit.hbs']);

                                                                                    method assertNoFileContent

                                                                                    assertNoFileContent: {
                                                                                    (file: string, reg: RegExp | string): void;
                                                                                    (pairs: [string, string | RegExp][]): void;
                                                                                    };
                                                                                    • Assert that a file's content does not match a regex / string

                                                                                      Parameter file

                                                                                      path to a file

                                                                                      Parameter reg

                                                                                      regex / string that will be used to search the file

                                                                                      Parameter pairs

                                                                                      an array of arrays, where each subarray is a [String, RegExp] pair var arg = [ [ 'models/user.js', /App.User \ DS.Model.extend/ ], [ 'controllers/user.js', /App.UserController = Ember.ObjectController.extend/ ] ] result.assertNoFileContent(arg);

                                                                                      Example 1

                                                                                      result.assertNoFileContent('models/user.js', /App.User = DS.Model.extend/); result.assertNoFileContent('models/user.js', 'App.User = DS.Model.extend');

                                                                                      Assert that each file in an array of file-regex pairs does not match its corresponding regex

                                                                                    method assertNoJsonFileContent

                                                                                    assertNoJsonFileContent: (
                                                                                    filename: string,
                                                                                    content: Record<string, any>
                                                                                    ) => void;
                                                                                    • Assert a JSON file does not contain the provided keys

                                                                                      Parameter filename

                                                                                      Parameter content

                                                                                      An object of key/values the file should not contain

                                                                                    method assertNoObjectContent

                                                                                    assertNoObjectContent: (
                                                                                    object: Record<string, unknown>,
                                                                                    content: Record<string, any>
                                                                                    ) => void;
                                                                                    • Assert an object does not contain the provided keys

                                                                                      Parameter obj

                                                                                      Object that should not match the given pattern

                                                                                      Parameter content

                                                                                      An object of key/values the object should not contain

                                                                                    method assertObjectContent

                                                                                    assertObjectContent: (
                                                                                    object: Record<string, unknown>,
                                                                                    content: Record<string, any>
                                                                                    ) => void;
                                                                                    • Assert an object contains the provided keys

                                                                                      Parameter obj

                                                                                      Object that should match the given pattern

                                                                                      Parameter content

                                                                                      An object of key/values the object should contains

                                                                                    method assertTextEqual

                                                                                    assertTextEqual: (value: string, expected: string) => void;
                                                                                    • Assert that two strings are equal after standardization of newlines

                                                                                      Parameter value

                                                                                      a string

                                                                                      Parameter expected

                                                                                      the expected value of the string

                                                                                      Example 1

                                                                                      result.assertTextEqual('I have a yellow cat', 'I have a yellow cat');

                                                                                    method cleanup

                                                                                    cleanup: () => this;
                                                                                    • Deletes the test directory recursively.

                                                                                    method create

                                                                                    create: <G extends BaseGenerator = GeneratorType>(
                                                                                    GeneratorOrNamespace: string | GetGeneratorConstructor<G>,
                                                                                    settings?: RunContextSettings,
                                                                                    environmentOptions?: BaseEnvironmentOptions
                                                                                    ) => import('./run-context.js').default<G>;
                                                                                    • Create another RunContext reusing the settings. See helpers.create api

                                                                                    method dumpFilenames

                                                                                    dumpFilenames: () => this;
                                                                                    • Dumps the name of each file to the console.

                                                                                    method dumpFiles

                                                                                    dumpFiles: (...files: string[]) => this;
                                                                                    • Either dumps the contents of the specified files or the name and the contents of each file to the console.

                                                                                    method getComposedGenerators

                                                                                    getComposedGenerators: () => string[];
                                                                                    • Assert that a generator was composed multiple times

                                                                                      Returns

                                                                                      an array of the names of the mocked generators that were composed

                                                                                    method getGeneratorComposeCount

                                                                                    getGeneratorComposeCount: (generator: string) => number;
                                                                                    • Get the number of times a mocked generator was composed

                                                                                      Parameter generator

                                                                                      the namespace of the mocked generator

                                                                                      Returns

                                                                                      the number of times the generator was composed

                                                                                    method getGeneratorMock

                                                                                    getGeneratorMock: (generator: string) => ReturnType<typeof mock.fn>['mock'];
                                                                                    • Get the generator mock

                                                                                      Parameter generator

                                                                                      the namespace of the mocked generator

                                                                                      Returns

                                                                                      the generator mock

                                                                                    method getSnapshot

                                                                                    getSnapshot: (
                                                                                    filter?: Parameters<MemFsEditor['dump']>[1]
                                                                                    ) => Record<string, MemFsEditorDumpFile>;
                                                                                    • Return an object with fs changes.

                                                                                      Parameter filter

                                                                                      parameter forwarded to mem-fs-editor#dump

                                                                                    method getSpawnArgsUsingDefaultImplementation

                                                                                    getSpawnArgsUsingDefaultImplementation: () => unknown[][];

                                                                                      method getStateSnapshot

                                                                                      getStateSnapshot: (
                                                                                      filter?: Parameters<MemFsEditor['dump']>[1]
                                                                                      ) => Record<string, Omit<MemFsEditorDumpFile, 'contents'>>;
                                                                                      • Return an object with filenames with state.

                                                                                        Parameter filter

                                                                                        parameter forwarded to mem-fs-editor#dump

                                                                                      method restore

                                                                                      restore: () => this;
                                                                                      • Reverts to old cwd.

                                                                                        Returns

                                                                                        this

                                                                                      class TestAdapter

                                                                                      class TestAdapter extends BaseTestAdapter {}

                                                                                        constructor

                                                                                        constructor(options?: TestAdapterOptions);

                                                                                          class YeomanTest

                                                                                          class YeomanTest {}
                                                                                          • Collection of unit test helpers. (mostly related to Mocha syntax) YeomanTest

                                                                                          property adapterOptions

                                                                                          adapterOptions?: Omit<TestAdapterOptions, 'mockedAnswers'>;

                                                                                            property BaseGenerator

                                                                                            BaseGenerator: boolean;

                                                                                              property defaultGenerator

                                                                                              defaultGenerator?: string;

                                                                                                property environmentOptions

                                                                                                environmentOptions?: any;

                                                                                                  property generatorOptions

                                                                                                  generatorOptions?: Partial<Omit<any, 'env' | 'resolved' | 'namespace'>>;

                                                                                                    property GenParameter

                                                                                                    GenParameter: any;

                                                                                                      property GenParameter

                                                                                                      GenParameter: any;

                                                                                                        property importMeta

                                                                                                        importMeta?: Pick<ImportMeta, 'resolve'>;

                                                                                                          property settings

                                                                                                          settings?: RunContextSettings;

                                                                                                            method create

                                                                                                            create: <GeneratorType extends BaseGenerator = any>(
                                                                                                            GeneratorOrNamespace: string | GetGeneratorConstructor<GeneratorType>,
                                                                                                            settings?: RunContextSettings,
                                                                                                            environmentOptions?: EnvironmentOptions
                                                                                                            ) => ReturnType<typeof this.createRunContext<GeneratorType>>;
                                                                                                            • Prepare a run context

                                                                                                              Parameter GeneratorOrNamespace

                                                                                                              Generator constructor or namespace {RunContext}

                                                                                                            method createDummyGenerator

                                                                                                            createDummyGenerator: () => any;
                                                                                                            • Create a simple, dummy generator

                                                                                                            method createEnv

                                                                                                            createEnv: (options: EnvironmentOptions) => Promise<DefaultEnvironmentApi>;
                                                                                                            • Shortcut to the Environment's createEnv.

                                                                                                              Parameter args

                                                                                                              environment constructor arguments.

                                                                                                              Returns

                                                                                                              {Object} environment instance

                                                                                                              Use to test with specific Environment version: let createEnv; before(() => { createEnv = stub(helper, 'createEnv').callsFake(Environment.creatEnv); }); after(() => { createEnv.restore(); });

                                                                                                            method createGenerator

                                                                                                            createGenerator: <GeneratorType extends BaseGenerator = any>(
                                                                                                            name: string | GetGeneratorConstructor<GeneratorType>,
                                                                                                            options?: {
                                                                                                            dependencies?: Dependency[];
                                                                                                            localConfigOnly?: boolean;
                                                                                                            } & InstantiateOptions<GeneratorType>
                                                                                                            ) => Promise<GeneratorType>;
                                                                                                            • Create a generator, using the given dependencies and controller arguments Dependecies can be path (autodiscovery) or an array [{generator}, {name}]

                                                                                                              Parameter name

                                                                                                              the name of the generator

                                                                                                              Parameter dependencies

                                                                                                              paths to the generators dependencies

                                                                                                              Parameter args

                                                                                                              arguments to the generator; if String, will be split on spaces to create an Array

                                                                                                              Parameter options

                                                                                                              configuration for the generator

                                                                                                              Parameter localConfigOnly

                                                                                                              passes localConfigOnly to the generators

                                                                                                              Example 1

                                                                                                              var deps = ['../../app', '../../common', '../../controller', '../../main', [createDummyGenerator(), 'testacular:app'] ]; var angular = createGenerator('angular:app', deps);

                                                                                                            method createMockedGenerator

                                                                                                            createMockedGenerator: (
                                                                                                            GeneratorClass?: BaseGeneratorConstructor
                                                                                                            ) => ReturnType<typeof mock.fn>;
                                                                                                            • Create a mocked generator

                                                                                                            method createRunContext

                                                                                                            createRunContext: <GeneratorType extends BaseGenerator = any>(
                                                                                                            GeneratorOrNamespace: string | GetGeneratorConstructor<GeneratorType>,
                                                                                                            settings?: RunContextSettings,
                                                                                                            environmentOptions?: EnvironmentOptions
                                                                                                            ) => RunContext<GeneratorType>;

                                                                                                              method createTestAdapter

                                                                                                              createTestAdapter: (options?: TestAdapterOptions) => TestAdapter;
                                                                                                              • Creates a TestAdapter using helpers default options.

                                                                                                              method createTestEnv

                                                                                                              createTestEnv: (
                                                                                                              environmentContructor?: CreateEnv,
                                                                                                              options?: EnvironmentOptions
                                                                                                              ) => Promise<DefaultEnvironmentApi>;
                                                                                                              • Creates a test environment.

                                                                                                                Parameter

                                                                                                                {Function} - environment constructor method.

                                                                                                                Parameter

                                                                                                                {Object} - Options to be passed to the environment const env = createTestEnv(require('yeoman-environment').createEnv);

                                                                                                              method getRunContextType

                                                                                                              getRunContextType: () => typeof RunContext;
                                                                                                              • Get RunContext type {RunContext}

                                                                                                              method mockLocalConfig

                                                                                                              mockLocalConfig: (generator: BaseGenerator, localConfig: any) => void;
                                                                                                              • Parameter generator

                                                                                                                a Yeoman generator

                                                                                                                Parameter localConfig

                                                                                                                localConfig - should look just like if called config.getAll()

                                                                                                                Deprecated

                                                                                                                Provide mocked values to the config

                                                                                                              method mockPrompt

                                                                                                              mockPrompt: (
                                                                                                              environmentOrGenerator: BaseGenerator | DefaultEnvironmentApi,
                                                                                                              mockedAnswers?: PromptAnswers,
                                                                                                              options?: DummyPromptOptions
                                                                                                              ) => void;
                                                                                                              • Parameter generator

                                                                                                                a Yeoman generator or environment

                                                                                                                Parameter answers

                                                                                                                an object where keys are the generators prompt names and values are the answers to the prompt questions

                                                                                                                Parameter options

                                                                                                                Options or callback

                                                                                                                Example 1

                                                                                                                mockPrompt(angular, {'bootstrap': 'Y', 'compassBoostrap': 'Y'});

                                                                                                                Deprecated

                                                                                                                Answer prompt questions for the passed-in generator

                                                                                                              method new

                                                                                                              new: (...args: any[]) => any;

                                                                                                                method prepareTemporaryDir

                                                                                                                prepareTemporaryDir: (
                                                                                                                settings?: RunContextSettings
                                                                                                                ) => BasicRunContext<BaseGenerator>;
                                                                                                                • Prepare temporary dir without generator support. Generator and environment will be undefined.

                                                                                                                method restorePrompt

                                                                                                                restorePrompt: (
                                                                                                                environmentOrGenerator: BaseGenerator | DefaultEnvironmentApi
                                                                                                                ) => void;
                                                                                                                • Parameter generator

                                                                                                                  or environment

                                                                                                                  Deprecated

                                                                                                                  Restore defaults prompts on a generator.

                                                                                                                method run

                                                                                                                run: <GeneratorType extends BaseGenerator = any>(
                                                                                                                GeneratorOrNamespace: string | GetGeneratorConstructor<GeneratorType>,
                                                                                                                settings?: RunContextSettings,
                                                                                                                environmentOptions?: EnvironmentOptions
                                                                                                                ) => ReturnType<typeof this.createRunContext<GeneratorType>>;
                                                                                                                • Run the provided Generator

                                                                                                                  Parameter GeneratorOrNamespace

                                                                                                                  Generator constructor or namespace

                                                                                                                method runDefault

                                                                                                                runDefault: <GeneratorType extends BaseGenerator = BaseGenerator>(
                                                                                                                settings?: RunContextSettings,
                                                                                                                environmentOptions?: EnvironmentOptions
                                                                                                                ) => ReturnType<typeof this.createRunContext<GeneratorType>>;
                                                                                                                • Run the default generator

                                                                                                                method setUpTestDirectory

                                                                                                                setUpTestDirectory: (dir: string) => () => void;
                                                                                                                • Parameter dir

                                                                                                                  path to the test directory

                                                                                                                  Returns

                                                                                                                  mocha callback

                                                                                                                  Deprecated

                                                                                                                  Create a function that will clean up the test directory, cd into it. Intended for use as a callback for the mocha before hook.

                                                                                                                method testDirectory

                                                                                                                testDirectory: (dir: string, callback?: (error?: any) => unknown) => unknown;
                                                                                                                • Parameter dir

                                                                                                                  path to the test directory

                                                                                                                  Parameter cb

                                                                                                                  callback executed after setting working directory to dir

                                                                                                                  Example 1

                                                                                                                  testDirectory(path.join(__dirname, './temp'), function () { fs.writeFileSync('testfile', 'Roses are red.'); });

                                                                                                                  Deprecated

                                                                                                                  Clean-up the test directory and cd into it. Call given callback after entering the test directory.

                                                                                                                Type Aliases

                                                                                                                type Dependency

                                                                                                                type Dependency = string | Parameters<DefaultEnvironmentApi['register']>;
                                                                                                                • Dependencies can be path (autodiscovery) or an array [, ]

                                                                                                                type RunContextSettings

                                                                                                                type RunContextSettings = {
                                                                                                                /**
                                                                                                                * Automatically run this generator in a tmp dir
                                                                                                                * @default true
                                                                                                                */
                                                                                                                tmpdir?: boolean;
                                                                                                                cwd?: string;
                                                                                                                oldCwd?: string;
                                                                                                                forwardCwd?: boolean;
                                                                                                                autoCleanup?: boolean;
                                                                                                                memFs?: Store<MemFsEditorFile>;
                                                                                                                /**
                                                                                                                * File path to the generator (only used if Generator is a constructor)
                                                                                                                */
                                                                                                                resolved?: string;
                                                                                                                /**
                                                                                                                * Namespace (only used if Generator is a constructor)
                                                                                                                * @default 'gen:test'
                                                                                                                */
                                                                                                                namespace?: string;
                                                                                                                };
                                                                                                                • Provides settings for creating a RunContext.

                                                                                                                type RunResultOptions

                                                                                                                type RunResultOptions<GeneratorType extends BaseGenerator> = {
                                                                                                                generator: GeneratorType;
                                                                                                                /**
                                                                                                                * The environment of the generator.
                                                                                                                */
                                                                                                                env: DefaultEnvironmentApi;
                                                                                                                envOptions: BaseEnvironmentOptions;
                                                                                                                /**
                                                                                                                * The working directory after running the generator.
                                                                                                                */
                                                                                                                cwd: string;
                                                                                                                /**
                                                                                                                * The working directory before on running the generator.
                                                                                                                */
                                                                                                                oldCwd: string;
                                                                                                                /**
                                                                                                                * The file-system of the generator.
                                                                                                                */
                                                                                                                memFs: Store<MemFsEditorFile>;
                                                                                                                fs?: MemFsEditor;
                                                                                                                /**
                                                                                                                * The mocked generators of the context.
                                                                                                                */
                                                                                                                mockedGenerators: Record<string, BaseGenerator>;
                                                                                                                spawnStub?: any;
                                                                                                                settings: RunContextSettings;
                                                                                                                helpers: YeomanTest;
                                                                                                                askedQuestions: AskedQuestions;
                                                                                                                };
                                                                                                                • Provides options for RunResults.

                                                                                                                Package Files (6)

                                                                                                                Dependencies (4)

                                                                                                                Dev Dependencies (15)

                                                                                                                Peer Dependencies (5)

                                                                                                                Badge

                                                                                                                To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/yeoman-test.

                                                                                                                • Markdown
                                                                                                                  [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/yeoman-test)
                                                                                                                • HTML
                                                                                                                  <a href="https://www.jsdocs.io/package/yeoman-test"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>