Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/forms / build / dist / __tests__ / render.test.js
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// - [ ] render
//     - test passThrough props going to the wrapper & input (they go to the right place)
//     - test render using custom plugin
//     - test renderWrap
//     - test renderInput
//     - test renderForm
//     - test FormContext consumer
//     - test InputContext consumer
//     - test rendered styles on validations true & false
require("./_setup");
const React = require("react");
const react_testing_library_1 = require("react-testing-library");
const OneForm_1 = require("../new-forms/OneForm/OneForm");
const ObserverInput_1 = require("../new-forms/inputs/ObserverInput");
const PluginsContext_1 = require("../new-forms/plugins/PluginsContext");
const InputContext_1 = require("../new-forms/inputs/InputContext");
const FormContext_1 = require("../new-forms/forms/FormContext");
/**
 * @todo can use renderProps in the inputsList
 */
class TestPlugin extends React.Component {
    static isSatisfiedByProps(props) {
        return true;
    }
    render() {
        return (React.createElement(ObserverInput_1.ObserverInput, { label: "Test", type: "test", state: this.props.state, renderInput: props => (React.createElement(FormContext_1.FormContext.Consumer, null, context => {
                expect(typeof context).toEqual('object');
                return React.createElement("input", Object.assign({}, props, { "data-qa": "qa-test-input", type: "test" }));
            })), renderWrap: props => (React.createElement(InputContext_1.InputContext.Consumer, null, context => {
                expect(context.type).toEqual('test');
                return React.createElement("div", Object.assign({}, props, { "data-qa": "qa-test-wrap" }));
            })) }));
    }
}
describe('@skava/forms - render', () => {
    afterEach(react_testing_library_1.cleanup);
    it('should provide contexts from forms + inputs', () => {
        expect.assertions(3);
        const formState = new OneForm_1.OneFormState().setInputsList([
            {
                type: 'test',
            },
        ]);
        const view = (React.createElement(PluginsContext_1.PluginsContext.Provider, { value: [TestPlugin] },
            React.createElement(OneForm_1.OneObserverForm, { state: formState })));
        const { container } = react_testing_library_1.render(view);
        const inputRenderer = container.querySelector('form');
        const html = inputRenderer.outerHTML;
        react_testing_library_1.fireEvent.click(inputRenderer);
        expect(html).toMatchSnapshot();
    });
});
//# sourceMappingURL=render.test.js.map