Mailspring/spec-nylas/components/form-builder-spec.cjsx

41 lines
1.6 KiB
CoffeeScript

fs = require 'fs'
path = require 'path'
React = require ('react/addons')
ReactTestUtils = React.addons.TestUtils
{FormItem,
GeneratedForm,
GeneratedFieldset} = require ('../../src/components/generated-form')
fixtureModule = path.resolve(__dirname, '..', '..', 'internal_packages', 'salesforce')
Adapter = require(path.join(fixtureModule, 'lib/salesforce-schema-adapter'))
fpath = path.join(fixtureModule, 'spec/fixtures/opportunity-layouts.json')
rawData = JSON.parse(fs.readFileSync(fpath, 'utf-8'))
testData = Adapter.convertFullEditLayout("opportunity", rawData)
describe "Form Builder", ->
beforeEach ->
for fieldset in testData.fieldsets
for formItem in fieldset.formItems
if formItem.type is "reference"
formItem.type = React.createClass(render: -> <div></div>)
@form = ReactTestUtils.renderIntoDocument(
<GeneratedForm {...testData} onSubmit={->} onChange={->}></GeneratedForm>
)
it "generates a form", ->
forms = ReactTestUtils.scryRenderedComponentsWithType(@form, GeneratedForm)
$forms = ReactTestUtils.scryRenderedDOMComponentsWithTag(@form, "form")
expect(forms.length).toBeGreaterThan 0
expect($forms.length).toBeGreaterThan 0
it "generates a fieldset", ->
fieldsets = ReactTestUtils.scryRenderedComponentsWithType(@form, GeneratedFieldset)
$fieldsets = ReactTestUtils.scryRenderedDOMComponentsWithTag(@form, "fieldset")
expect(fieldsets.length).toBeGreaterThan 0
expect($fieldsets.length).toBeGreaterThan 0
it "generates a form item", ->
items = ReactTestUtils.scryRenderedComponentsWithType(@form, FormItem)
expect(items.length).toBeGreaterThan 0