I have an abstract class that helps in avoiding repetitive code (to unsubscribe observables), it looks like:
export abstract class SubscriptionManagmentDirective implements OnDestroy {
componetDestroyed = new Subject<void>()
constructor() {}
ngOnDestroy(): void {
this.componetDestroyed.next()
this.componetDestroyed.unsubscribe()
}
}
In some cases it happened that I override ngOnDestroy and forget to call super.ngOnDestroy() and then subscriptions go wild.
I added a unit test to the extending components to test that un-subscriptions has been called, but to do so I have to actually remember to add them.
My question is,
- is there a way to force that
super.ngOnDestroy()is called whenever the component is extended? - or is there a way to write a unit test for the abstract class that would be tested on any component that extend that class?
Any help would be appreciated, thanks.