@@ -34,12 +34,12 @@ export async function render<ComponentType>(
3434) : Promise < RenderResult < ComponentType , ComponentType > > ;
3535export async function render < DirectiveType , WrapperType = WrapperComponent > (
3636 component : Type < DirectiveType > ,
37- renderOptions ?: RenderDirectiveOptions < DirectiveType , WrapperType > ,
38- ) : Promise < RenderResult < DirectiveType , WrapperType > > ;
37+ renderOptions ?: RenderDirectiveOptions < WrapperType > ,
38+ ) : Promise < RenderResult < WrapperType > > ;
3939
4040export async function render < SutType , WrapperType = SutType > (
4141 sut : Type < SutType > ,
42- renderOptions : RenderComponentOptions < SutType > | RenderDirectiveOptions < SutType , WrapperType > = { } ,
42+ renderOptions : RenderComponentOptions < SutType > | RenderDirectiveOptions < WrapperType > = { } ,
4343) : Promise < RenderResult < SutType > > {
4444 const {
4545 detectChanges : detectChangesOnRender = true ,
@@ -55,7 +55,7 @@ export async function render<SutType, WrapperType = SutType>(
5555 excludeComponentDeclaration = false ,
5656 routes,
5757 removeAngularAttributes = false ,
58- } = renderOptions as RenderDirectiveOptions < SutType , WrapperType > ;
58+ } = renderOptions as RenderDirectiveOptions < WrapperType > ;
5959
6060 const config = getConfig ( ) ;
6161
@@ -191,7 +191,7 @@ async function createComponent<SutType>(component: Type<SutType>): Promise<Compo
191191
192192async function createComponentFixture < SutType > (
193193 component : Type < SutType > ,
194- { template, wrapper } : Pick < RenderDirectiveOptions < SutType , any > , 'template' | 'wrapper' > ,
194+ { template, wrapper } : Pick < RenderDirectiveOptions < any > , 'template' | 'wrapper' > ,
195195) : Promise < ComponentFixture < SutType > > {
196196 if ( template ) {
197197 TestBed . overrideTemplate ( wrapper , template ) ;
@@ -205,7 +205,14 @@ function setComponentProperties<SutType>(
205205 { componentProperties = { } } : Pick < RenderDirectiveOptions < SutType , any > , 'componentProperties' > ,
206206) {
207207 for ( const key of Object . keys ( componentProperties ) ) {
208- fixture . componentInstance [ key ] = componentProperties [ key ] ;
208+ let _value = componentProperties [ key ] ;
209+ Object . defineProperty ( fixture . componentInstance , key , {
210+ get : ( ) => _value ,
211+ set : ( value ) => {
212+ _value = value ;
213+ fixture . detectChanges ( ) ;
214+ }
215+ } ) ;
209216 }
210217 return fixture ;
211218}
@@ -235,7 +242,7 @@ function addAutoDeclarations<SutType>(
235242 template,
236243 wrapper,
237244 } : Pick <
238- RenderDirectiveOptions < SutType , any > ,
245+ RenderDirectiveOptions < any > ,
239246 'declarations' | 'excludeComponentDeclaration' | 'template' | 'wrapper'
240247 > ,
241248) {
0 commit comments