UNPKG

apeman-react-mixins

Version:
62 lines (54 loc) 1.46 kB
/** * Test case for apFormMixin. * Runs with mocha. */ 'use strict' const ApFormMixin = require('../lib/ap_form_mixin.js').default const React = require('react') const ReactDOM = require('react-dom/server') const assert = require('assert') describe('ap-form-mixin', () => { before((done) => { done() }) after((done) => { done() }) it('Ap form mixin', (done) => { const MockClass = React.createClass({ mixins: [ ApFormMixin ], render () { const s = this return React.createElement('div', {}, s.props.children ) }, componentWillMount () { const s = this assert.ok(s.handleFormChange) assert.ok(s.handleFormSubmit) let formValues = s.getFormValues() assert.equal(formValues.foo, 'formatted:bar') assert.equal(s.getFormIcon('foo'), 'icon-of-foo') assert.equal(s.getFormImage('foo'), 'image-of-foo') }, formatFormValues (value) { return Object.assign(value, { foo: `formatted:${value.foo}` }) } }) let root = React.createElement(MockClass, { formValues: { 'foo': 'bar' }, formActions: { 'foo': () => console.log('foo') }, formIcons: { 'foo': 'icon-of-foo' }, formImages: { 'foo': 'image-of-foo' } }) let html = ReactDOM.renderToString(root) assert.ok(html) done() }) }) /* global describe, before, after, it */