Как использовать пользовательскую функцию для сравнения?
Я создал функцию для клавиш сравнения объектов.
Как ее использовать?
Моя функция для сравнения
function compareObjects(obj1, obj2) {
const keysObj1 = Object.keys(obj1).sort();
const keysObj2 = Object.keys(obj2).sort();
if (keysObj1.length !== keysObj2.length) return false;
for (let i = 0; i < keysObj1.length; i++) {
if (keysObj1[i] !== keysObj2[i]) return false;
}
for (let i = 0; i < keysObj1.length; i++) {
if (typeof obj1[ keysObj1[i] ] === "object") {
console.log('Object');
if (typeof obj2[ keysObj2[i] ] === "object") {
if (!compareObjects(obj1[ keysObj1[i] ], obj2[ keysObj2[i] ])) return false;
} else {
return false;
}
}
}
return true;
}
Ожидаемый объект
const expectedInfoObj = {
token: '-',
level: '-',
info: {
name: '-',
message: '-'
}
};
сравнить
expect(JSON.parse(request.requestBody)).toMatchObject(expectedInfoObj);