Здраствуйте, возникла проблема при написании кода. Есть скрипт сверху, ниже тест. Так вот, он ругается на строку 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');
});
});