Условный рендеринг с Window in Jest - PullRequest
0 голосов
/ 07 мая 2018

Я работаю над простым приложением React, которое открывает новую вкладку с помощью window.open () для представления «только для чтения» только для чтения, в котором докладчик больше не видит управляющие кнопки. Это прекрасно работает, но в моих тестах Jest, когда я обновляю имя окна, компонент остается визуализированным.

Вот компонент:

const AdjustTimerButtonGroup = props => {
if (window.name === 'presenter') {
  return null;
}
return(
  //rest of button 
  )
];

А вот тест, который у меня сейчас есть:

  it('does not render if in presenter window', () => {
    wrapper = shallow(<AdjustTimerButtonGroup />);
    global.window.name = 'presenter';
    wrapper.update();
    expect(wrapper.type()).toEqual(null);
  });

1 Ответ

0 голосов
/ 08 мая 2018

Я считаю, global - это window в JSDOM, который использует шутка. Когда вы делаете global.window.name, это по существу похоже на написание window.window.name. Попробуйте просто использовать global.name или window.name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...