|
- /* eslint-env mocha */
- import React from "react"
- import expect from "expect"
- 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" )
- })
-
- })
- } )
|