Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

64 Zeilen
1.9 KiB

  1. import React from "react"
  2. import expect from "expect"
  3. import { shallow } from "enzyme"
  4. import { fromJS } from "immutable"
  5. import ObjectModel from "components/object-model"
  6. import ModelExample from "components/model-example"
  7. import Immutable from "immutable"
  8. import Model from "components/model"
  9. import ModelCollapse from "components/model-collapse"
  10. import { inferSchema } from "corePlugins/samples/fn"
  11. describe("<ObjectModel />", function() {
  12. const dummyComponent = () => null
  13. const components = {
  14. "JumpToPath" : dummyComponent,
  15. "Markdown" : dummyComponent,
  16. "Model" : Model,
  17. "ModelCollapse" : ModelCollapse
  18. }
  19. const props = {
  20. getComponent: c => components[c],
  21. isRef : false,
  22. schema: Immutable.fromJS(
  23. {
  24. "properties": {
  25. // Note reverse order: c, b, a
  26. c: {
  27. type: "integer",
  28. name: "c"
  29. },
  30. b: {
  31. type: "boolean",
  32. name: "b"
  33. },
  34. a: {
  35. type: "string",
  36. name: "a"
  37. }
  38. }
  39. }
  40. ),
  41. specSelectors: {
  42. isOAS3(){
  43. return false
  44. }
  45. },
  46. className: "for-test"
  47. }
  48. it("renders a collapsible header", function(){
  49. const wrapper = shallow(<ObjectModel {...props}/>)
  50. const renderedModelCollapse = wrapper.find(ModelCollapse)
  51. expect(renderedModelCollapse.length).toEqual(1)
  52. })
  53. it("renders the object properties in order", function() {
  54. const wrapper = shallow(<ObjectModel {...props}/>)
  55. const renderedModel = wrapper.find(Model)
  56. expect(renderedModel.length).toEqual(3)
  57. expect(renderedModel.get(0).props.schema.get("name")).toEqual("c")
  58. expect(renderedModel.get(1).props.schema.get("name")).toEqual("b")
  59. expect(renderedModel.get(2).props.schema.get("name")).toEqual("a")
  60. })
  61. })