Я пытаюсь написать контрольные примеры для Жасмин для следующего метода - PullRequest
0 голосов
/ 21 октября 2018
onChange(event: any) {

if (event.type === 'drop') {
  this.file = event.dataTransfer.files;
} else {
  this.file = event.target.files;
}

for (let i = 0; i < this.file.length; i++) {
  if (this.formatsAllowed.includes('.' + this.file[i].name.split('.')[1])) {
    this.selectedFiles.push(this.file[i]);
  }
}
event.target.value = null;
}

Характеристики:

it('should handle change event for includes property', () => {

  component.formatsAllowed = 'pdf';
  component.file;

  spyOn(component,'onChange').and.callThrough();
  component.onChange({
    type: 'default',
    target: {
      files : [],
      value: 'someVal'
    }
  });
  component.file.name='some.val';
  const x = formatsAllowed.includes('pdf');
  expect(x).toBeTruthy();
  expect(component.selectedFiles).toBeDefined();
});

Я могу протестировать все сценарии, кроме условия внутри цикла.

Я получаю сообщение об ошибке:

TypeError: Невозможно установить свойство 'name' из неопределенного

Если я удаляю и пропускаю '', тестовые значения проходят, но не рассматриваются в отчете о покрытии в Стамбуле.

Может кто-нибудь понятьузнать, как проверить условные операторы в этом сценарии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...