* config(jest): updated setup * config(jest): update testMatch to include jsx files * config(jest): add transformIgnorePatterns * config(jest): update ignore files that do not work in jest yet * config: add test:unit-jest to test script * fix(jest): lint with eslint-plugin-jest * refactor(jest): move unit test directory * refactor(mocha): restore mocha tests that fail in jest * docs(jest): update helpful scripts with test:unit-jest
51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
import React from "react"
|
|
import { shallow } from "enzyme"
|
|
import { fromJS } from "immutable"
|
|
import PrimitiveModel from "components/primitive-model"
|
|
|
|
describe("<PrimitiveModel/>", function () {
|
|
describe("Model name", function () {
|
|
const dummyComponent = () => null
|
|
const components = {
|
|
Markdown: dummyComponent,
|
|
EnumModel: dummyComponent
|
|
}
|
|
const props = {
|
|
getComponent: c => components[c],
|
|
getConfigs: () => ({
|
|
showExtensions: false
|
|
}),
|
|
name: "Name from props",
|
|
depth: 1,
|
|
schema: fromJS({
|
|
type: "string",
|
|
title: "Custom model title"
|
|
})
|
|
}
|
|
|
|
it("renders the schema's title", function () {
|
|
// When
|
|
const wrapper = shallow(<PrimitiveModel {...props} />)
|
|
const modelTitleEl = wrapper.find("span.model-title")
|
|
expect(modelTitleEl.length).toEqual(1)
|
|
|
|
// Then
|
|
expect(modelTitleEl.text()).toEqual("Custom model title")
|
|
})
|
|
|
|
it("falls back to the passed-in `name` prop for the title", function () {
|
|
// When
|
|
props.schema = fromJS({
|
|
type: "string"
|
|
})
|
|
const wrapper = shallow(<PrimitiveModel {...props} />)
|
|
const modelTitleEl = wrapper.find("span.model-title")
|
|
expect(modelTitleEl.length).toEqual(1)
|
|
|
|
// Then
|
|
expect(modelTitleEl.text()).toEqual("Name from props")
|
|
})
|
|
|
|
})
|
|
})
|