Как использовать функцию сравнения costom в шутку? - PullRequest
0 голосов
/ 19 февраля 2020

Как использовать пользовательскую функцию для сравнения?

Я создал функцию для клавиш сравнения объектов.

Как ее использовать?

Моя функция для сравнения

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...