Я пытаюсь выполнить модульное тестирование своей функции, которая использует TweenMax из GSAP , но я не уверен, как лучше это сделать ...
@ViewChild('dropdown') dropdown: ElementRef;
expanded = false;
toggleDropdown() {
const dropdown = this.dropdown.nativeElement;
TweenMax.to(dropdown, 0.5, {
css: {
height: this.expanded ? '34px' : '376px'
},
ease: Power2.easeInOut,
});
this.expanded = !this.expanded;
}
Я думал о возможной насмешке над TweenMax, но попытка, которую я сделал, получила ошибку:
Ожидал шпиона, но получил объект ({to: spy on unknown.to}).
beforeEach(async(() => {
mockTween = createSpyObj(['to']);
TestBed.configureTestingModule({
imports: [...],
declarations: [...],
providers: [... ,
{provide: TweenMax, useValue: mockTween}
]
});
...
}));
it('should set dropdown height to 376px if not currently expanded', () => {
component.expanded = false;
component.toggleDropdown();
expect(mockTween).toHaveBeenCalled();
});