angular-cli icon indicating copy to clipboard operation
angular-cli copied to clipboard

SchematicTestRunner.callRule does not use the logger by default

Open alexeagle opened this issue 5 years ago • 0 comments

From @FrozenPandaz on June 6, 2018 3:12

Bug Report or Feature Request (mark with an x)

- [x] bug report -> please search issues before submitting
- [ ] feature request

Area

- [x] devkit
- [ ] schematics

Versions

Ubuntu

Repro steps


    const schematicRunner = new SchematicTestRunner(
      collectionName,
      pathToCollectionJson
    );
    const spy = spyOn(schematicRunner.logger, 'info');
    schematicRunner
      .callRule((host: Tree, context: SchematicContext) => {
        context.logger.info('Hello world!');
      , Tree.empty())
      .subscribe(result => {
        expect(spy).toHaveBeenCalledWith('Hello world!');
      });

The log given by the failure

Expected spy to have been called 'Hello world!' but was not called.

Desired functionality

The SchematicTestRunner logger should be used by default and the test should pass

Mention any other details that might be useful

Any unit tests which test rules

Copied from original issue: angular/devkit#1016

alexeagle avatar Sep 04 '18 22:09 alexeagle