UNPKG

react-web-native-sketch

Version:

[TODO: We need an overview of how this can be used via npm vs as a local package]

48 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Enzyme = require("enzyme"); var enzyme_1 = require("enzyme"); var Adapter = require("enzyme-adapter-react-16"); var React = require("react"); var strings_1 = require("../../../../../src/utils/strings"); var TextInput_1 = require("src/nativeComponents/TextInput/TextInput"); var enums_1 = require("src/utils/enums"); Enzyme.configure({ adapter: new Adapter() }); describe('<TextInput />', function () { it('renders', function () { var wrapper = enzyme_1.mount(React.createElement(TextInput_1.TextInput, { onChange: function () { }, inputType: enums_1.TEXT_INPUT_TYPES.TEXT })); expect(wrapper).toMatchSnapshot(); }); it('returns entered string', function () { var x = ''; var wrapper = enzyme_1.mount(React.createElement(TextInput_1.TextInput, { onChange: function (value) { return x = value; }, inputType: enums_1.TEXT_INPUT_TYPES.TEXT })); var input = wrapper.find('input'); input.instance().value = 'First'; input.simulate('change', input); expect(x).toBe('First'); }); it('properly checks floats', function () { var x = ''; var wrapper = enzyme_1.mount(React.createElement(TextInput_1.TextInput, { onChange: function (value) { return x = value; }, inputType: enums_1.TEXT_INPUT_TYPES.FLOAT })); var input = wrapper.find('input'); input.instance().value = '123'; input.simulate('change', input); expect(x).toBe(123); input.instance().value = '123.5'; input.simulate('change', input); expect(x).toBe(123.5); input.instance().value = '123.5.'; input.simulate('change', input); expect(x['error']).toBe(strings_1.FIELD_MUST_BE_NUMBER); }); it('initialises from value & uses rawToDb and dbToRaw the way it should', function () { var x = ''; var wrapper = enzyme_1.mount(React.createElement(TextInput_1.TextInput, { value: "123", rawToDb: function (value) { return +value + 1; }, dbToRaw: function (value) { return (value - 1).toString(); }, onChange: function (value) { return x = value; }, inputType: enums_1.TEXT_INPUT_TYPES.FLOAT })); var input = wrapper.find('input'); expect(input.instance().value).toBe("122"); input.instance().value = '213'; input.simulate('change', input); expect(x).toBe(214); }); }); //# sourceMappingURL=TextInput.spec.js.map