react-openfin-mat-impl
Version:
Materialize UI implementation of react-openfin
52 lines • 2.22 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const react_openfin_1 = require("react-openfin");
const styles_1 = require("@material-ui/core/styles");
const styles_2 = require("@material-ui/styles");
const Button_1 = require("@material-ui/core/Button");
const Menu_1 = require("@material-ui/core/Menu");
const MenuItem_1 = require("@material-ui/core/MenuItem");
const test_utils_1 = require("@material-ui/core/test-utils");
const ConfigLangField_1 = require("./ConfigLangField");
const theme = styles_1.createMuiTheme({});
describe('ConfigLangField', () => {
let shallow;
let mount;
beforeAll(() => {
react_openfin_1.InitializeReactOpenfin({
finUuid: process.env.REACT_APP_FIN_UUID,
finMockupForceSilentMode: true,
i18n: {},
hist: {},
configTabs: [],
launchBarItems: [],
});
});
beforeEach(() => {
mount = test_utils_1.createMount();
shallow = test_utils_1.createShallow();
});
afterEach(() => {
mount.cleanUp();
});
it('render en-US correctly and switch to zh-CN', () => {
const wrapper = mount(React.createElement(react_openfin_1.ReactOpenfin, null,
React.createElement(styles_2.ThemeProvider, { theme: theme },
React.createElement(ConfigLangField_1.default, null))));
const btns = wrapper.find(Button_1.default);
expect(btns).toHaveLength(1);
const language1 = window[react_openfin_1.REACT_OPENFIN_STORE].getState().config.application.language;
// btns.props().onClick({event:{currentTarget:btns}});
btns.simulate('click');
// expect(wrapper.find(MenuItem)).toHaveLength(2);
const menu = wrapper.find(Menu_1.default);
menu.props().onClose();
const menuItems = wrapper.find(MenuItem_1.default);
expect(menuItems).toHaveLength(2);
menuItems.at(1).simulate('click');
const language2 = window[react_openfin_1.REACT_OPENFIN_STORE].getState().config.application.language;
expect(language1).not.toEqual(language2);
});
});
//# sourceMappingURL=ConfigLangField.spec.js.map