diff --git a/apps/example-app/src/app/examples/02-input-output.spec.ts b/apps/example-app/src/app/examples/02-input-output.spec.ts
index 663d63e0..f1bd4a1c 100644
--- a/apps/example-app/src/app/examples/02-input-output.spec.ts
+++ b/apps/example-app/src/app/examples/02-input-output.spec.ts
@@ -33,8 +33,8 @@ test('is possible to set input and listen for output', async () => {
test('is possible to set input and listen for output with the template syntax', async () => {
const sendSpy = jest.fn();
- await render(InputOutputComponent, {
- template: '',
+ await render('', {
+ declarations: [InputOutputComponent],
componentProperties: {
sendValue: sendSpy,
},
diff --git a/apps/example-app/src/app/examples/11-ng-content.spec.ts b/apps/example-app/src/app/examples/11-ng-content.spec.ts
index 14a1630c..2dedd809 100644
--- a/apps/example-app/src/app/examples/11-ng-content.spec.ts
+++ b/apps/example-app/src/app/examples/11-ng-content.spec.ts
@@ -1,4 +1,3 @@
-import { TestBed } from '@angular/core/testing';
import { render, screen } from '@testing-library/angular';
import { CellComponent } from './11-ng-content';
@@ -6,9 +5,8 @@ import { CellComponent } from './11-ng-content';
test('it is possible to test ng-content without selector', async () => {
const projection = 'it should be showed into a p element!';
- TestBed.overrideComponent(CellComponent, { set: { selector: 'cell' } });
- await render(CellComponent, {
- template: `${projection} | `,
+ await render(`${projection}`, {
+ declarations: [CellComponent]
});
expect(screen.getByText(projection)).toBeInTheDocument();
diff --git a/apps/example-app/src/app/examples/11-ng-content.ts b/apps/example-app/src/app/examples/11-ng-content.ts
index 302563f1..47845919 100644
--- a/apps/example-app/src/app/examples/11-ng-content.ts
+++ b/apps/example-app/src/app/examples/11-ng-content.ts
@@ -1,6 +1,7 @@
import { Component, ChangeDetectionStrategy } from '@angular/core';
@Component({
+ selector: 'app-fixture',
template: `
diff --git a/apps/example-app/src/app/examples/17-component-with-attribute-selector.spec.ts b/apps/example-app/src/app/examples/17-component-with-attribute-selector.spec.ts
new file mode 100644
index 00000000..cd6334d1
--- /dev/null
+++ b/apps/example-app/src/app/examples/17-component-with-attribute-selector.spec.ts
@@ -0,0 +1,14 @@
+import { render, screen } from '@testing-library/angular';
+import {ComponentWithAttributeSelectorComponent} from './17-component-with-attribute-selector';
+
+// Note: At this stage it is not possible to use the render(ComponentWithAttributeSelectorComponent, {...}) syntax
+// for components with attribute selectors!
+test('is possible to set input of component with attribute selector through template', async () => {
+ await render(``, {
+ declarations: [ComponentWithAttributeSelectorComponent]
+ });
+
+ const valueControl = screen.getByTestId('value');
+
+ expect(valueControl).toHaveTextContent('42');
+});
diff --git a/apps/example-app/src/app/examples/17-component-with-attribute-selector.ts b/apps/example-app/src/app/examples/17-component-with-attribute-selector.ts
new file mode 100644
index 00000000..2d0b904b
--- /dev/null
+++ b/apps/example-app/src/app/examples/17-component-with-attribute-selector.ts
@@ -0,0 +1,11 @@
+import { Component, Input } from '@angular/core';
+
+@Component({
+ selector: 'app-fixture-component-with-attribute-selector[value]',
+ template: `
+ {{ value }}
+ `,
+})
+export class ComponentWithAttributeSelectorComponent {
+ @Input() value!: number;
+}