Wie kann der Kontext an die Enzym-Mount-Methode übergeben werden, um eine Komponente zu testen, die eine Material-UI-Komponente enthält?

Ich versuche, @ zu verwendmount from Enzyme, um meine Komponente zu testen, in der mehrere Material-UI-Komponenten verschachtelt sind. Ich erhalte diesen Fehler beim Ausführen des Tests:

TypeError: Cannot read property 'prepareStyles' of undefined

Nach einigem Graben, Ich habe festgestellt, dass ein Thema in einem Kontext weitergegeben werden muss. Ich mache das im Test aber bekomme trotzdem diesen Fehler.

Mein Test

import expect from  'expect';
import React, {PropTypes} from 'react';
import {mount} from 'enzyme';
import SearchBar from './SearchBar';
import getMuiTheme from 'material-ui/styles/getMuiTheme';

function setup() {
  const muiTheme = getMuiTheme();

  const props = {
    closeSearchBar: () => {},
    fetchSearchData: () => {},
    data: [],
    searching: false
  };

  return mount(<SearchBar {...props} />, {context: {muiTheme}});
}

describe('SearchBar Component', ()=> {

  it('Renders search toolbar properly', () => {
    const wrapper = setup();
    expect(wrapper.find('.toolbar').length).toBe(1);
    expect(wrapper.find('button').length).toBe(1);
  });
});

Meine Suchleisten-Komponente ist eine zustandslose Komponente, daher kann ich in keinem Kontext darauf zurückgreifen. Aber selbst wenn ich es bin, bekomme ich immer noch den gleichen Fehler.

Was mache ich falsch

Antworten auf die Frage(4)

Ihre Antwort auf die Frage