Я не могу установить ActivatedRoute в модульном тестировании - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть функция, которую я тестирую, имеет много условий if и операторов switch, которые зависят от значений ActivatedRoute. Мне нужно установить не подписанный ActivatedRoute в модульном тестировании в угловых, чтобы иметь возможность установить эти две строки:

component.route.snapshot.root.children[0].params["username"] = "user1";
component.route.snapshot.parent.firstChild.routeConfig.path = "kweeks";

Известно, что компонент, который я тестирую, имеет публичную переменную с именем (route) с типом данных (ActivatedRoute). Я пытался добавить:

let route: any = {
snapshot: {
  root: {
    children: [
      {
        params: {
          username: String
        }
      }
    ]
  },
  parent: {
    firstChild: {
      routeConfig: {
        path: String
      }
    }
  }
}
};

component.route = route;

но я получил ошибку в модульном тесте:

TypeError: Cannot read property 'path' of undefined

решена проблема с обновлением: проблема была в том, что была другая строка, которую я использовал, я не видел:

component.route.snapshot.parent.routeConfig.path = "home";

поэтому я обновил маршрут до:

  let route: any = {
    snapshot: {
      root: {
        children: [
          {
            params: {
              username: String
            }
          }
        ]
      },
      parent: {
        firstChild: {
          routeConfig: {
            path: String
          }
        },
        routeConfig: {
          path: String
        }
      }
    }
  };
...