Skip to content

Commit

Permalink
fix(core): respecting schemas in mock modules #4228
Browse files Browse the repository at this point in the history
  • Loading branch information
satanTime committed Nov 19, 2022
1 parent 04dba81 commit b13bf34
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 1 deletion.
3 changes: 2 additions & 1 deletion libs/ng-mocks/src/lib/common/core.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,5 @@ export type dependencyKeys =
| 'providers'
| 'viewProviders'
| 'imports'
| 'exports';
| 'exports'
| 'schemas';
1 change: 1 addition & 0 deletions libs/ng-mocks/src/lib/mock-module/mock-ng-def.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ const configureProcessMetaKeys = (
['viewProviders', resolveProvider],
['imports', resolve],
['exports', resolve],
['schemas', v => v],
];

const processMeta = (
Expand Down
36 changes: 36 additions & 0 deletions tests/issue-4228/test.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { CommonModule } from '@angular/common';
import {
Component,
CUSTOM_ELEMENTS_SCHEMA,
Input,
NgModule,
} from '@angular/core';

import { MockBuilder, MockRender, ngMocks } from 'ng-mocks';

@Component({
selector: 'app-target',
template: `<custom-component></custom-component>name: {{ name }}`,
})
class TargetComponent {
@Input() public readonly name: string = '';
}

@NgModule({
imports: [CommonModule],
declarations: [TargetComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
class TargetModule {}

// @see https://github.com/help-me-mom/ng-mocks/issues/4228
describe('issue-4228', () => {
ngMocks.throwOnConsole();

beforeEach(() => MockBuilder(TargetComponent, TargetModule));

it('respects schemas in the mocked module', () => {
const fixture = MockRender(TargetComponent);
expect(fixture).toBeDefined();
});
});

0 comments on commit b13bf34

Please sign in to comment.