Skip to content

Commit 91ede5c

Browse files
committed
fix(elements): Add test component and make sure templates are rendered for tests.
1 parent 20e9aa6 commit 91ede5c

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

projects/igniteui-angular-elements/src/app/wrapper/wrapper.component.spec.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Component, ViewChild, ViewContainerRef } from '@angular/core';
12
import { ComponentFixture, TestBed } from '@angular/core/testing';
23
import { html } from 'lit-html';
34
import { AsyncDirective, directive } from 'lit/async-directive.js';
@@ -13,22 +14,33 @@ class ToLowerAsyncDirective extends AsyncDirective {
1314
protected override disconnected(): void {
1415
directiveLog.push('disconnected');
1516
}
16-
}
17-
export const toLowerAsync = directive(ToLowerAsyncDirective);
17+
}
18+
export const toLowerAsync = directive(ToLowerAsyncDirective);
19+
20+
@Component({
21+
template: `<igx-template-wrapper></igx-template-wrapper>`,
22+
imports: [TemplateWrapperComponent]
23+
})
24+
class TestTemplateWrapperComponent {
25+
@ViewChild(TemplateWrapperComponent)
26+
public templateWrapper;
27+
28+
constructor(public viewContainerRef: ViewContainerRef) { }
29+
}
1830

1931
describe('WrapperComponent', () => {
20-
let component: TemplateWrapperComponent;
21-
let fixture: ComponentFixture<TemplateWrapperComponent>;
32+
let component: TestTemplateWrapperComponent;
33+
let fixture: ComponentFixture<TestTemplateWrapperComponent>;
2234

2335
beforeEach(async () => {
2436
await TestBed.configureTestingModule({
25-
imports: [TemplateWrapperComponent]
37+
imports: [TestTemplateWrapperComponent]
2638
})
2739
.compileComponents();
2840
});
2941

3042
beforeEach(() => {
31-
fixture = TestBed.createComponent(TemplateWrapperComponent);
43+
fixture = TestBed.createComponent(TestTemplateWrapperComponent);
3244
component = fixture.componentInstance;
3345
fixture.detectChanges();
3446
});
@@ -39,8 +51,9 @@ describe('WrapperComponent', () => {
3951

4052
it('should render template', () => {
4153
const context = { text: "Oh hi" };
42-
const templateRef = component.addTemplate((ctx) => html`<span id="template1">${ctx.text}</span>`);
54+
const templateRef = component.templateWrapper.addTemplate((ctx) => html`<span id="template1">${ctx.text}</span>`);
4355
const embeddedView = templateRef.createEmbeddedView(context);
56+
component.viewContainerRef.insert(embeddedView);
4457
embeddedView.detectChanges();
4558

4659
const span = embeddedView.rootNodes[0].querySelector("#template1");
@@ -51,8 +64,9 @@ describe('WrapperComponent', () => {
5164

5265
it('should update connectivity on template with AsyncDirective', () => {
5366
const context = { text: "OH HI" };
54-
const templateRef = component.addTemplate((ctx) => html`<span id="template1">${toLowerAsync(ctx.text)}</span>`);
67+
const templateRef = component.templateWrapper.addTemplate((ctx) => html`<span id="template1">${toLowerAsync(ctx.text)}</span>`);
5568
const embeddedView = templateRef.createEmbeddedView(context);
69+
component.viewContainerRef.insert(embeddedView);
5670
embeddedView.detectChanges();
5771

5872
const span = embeddedView.rootNodes[0].querySelector("#template1");

projects/igniteui-angular-elements/tsconfig.spec.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"allowJs": true,
66
"outDir": "../../out-tsc/spec",
77
"types": [
8-
"jasmine"
8+
"jasmine",
9+
"node"
910
]
1011
},
1112
"files": [

0 commit comments

Comments
 (0)