@Godiluck

Почему код не проходит тест?

Здраствуйте, возникла проблема при написании кода. Есть скрипт сверху, ниже тест. Так вот, он ругается на строку last: str2[0]. Буду признателен если посмотрите и поможете разобраться
Код работает так: проверяет, грамотно ли пользователь заполнил графы имя и фамилия. Если все в 1 строке, объект разбивается на массив и разные элементы присваиваются first и last соответственно
export interface ICleverName {
  first?: string;
  last?: string;
}

export class CleverUserConverters {
  static ParseUserName(name: ICleverName): Required<ICleverName> {
    let str1 = name.first?.split(' ');
    let str2 = name.last?.split(' ');

    return {
      first: str1[0],
      last: str2[0],
    };
  }
}


describe('AppController', () => {
  it('should parse first and last names correctly', () => {
    const name1: ICleverName = { first: '1', last: '2' };
    const name2: ICleverName = { first: '1 2' };
    const name3: ICleverName = { last: '1 2' };

    const parsedName1 = CleverUserConverters.ParseUserName(name1);
    const parsedName2 = CleverUserConverters.ParseUserName(name2);
    const parsedName3 = CleverUserConverters.ParseUserName(name3);

    expect(parsedName1.first).toEqual('1');
    expect(parsedName1.last).toEqual('2');
    expect(parsedName2.first).toEqual('1');
    expect(parsedName2.last).toEqual('2');
    expect(parsedName3.first).toEqual('1');
    expect(parsedName3.last).toEqual('2');
  });
});
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alekcena
В попытках обрести навыки и умения
Переменная name.last содержит не индексируемые значения.
Когда вызывается str2[0]- Такого индекса нет = ошибка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы