model-collapse.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. describe("Model collapse/expand feature", () => {
  2. describe("in Swagger 2", () => {
  3. const swagger2BaseUrl = "/?deepLinking=true&url=/documents/features/models.swagger.yaml"
  4. const urlFragment = "#/definitions/Pet"
  5. ModelCollapseTest(swagger2BaseUrl, urlFragment)
  6. })
  7. describe("in OpenAPI 3", () => {
  8. const openAPI3BaseUrl = "/?deepLinking=true&url=/documents/features/models.openapi.yaml"
  9. ModelCollapseTest(openAPI3BaseUrl)
  10. })
  11. })
  12. function ModelCollapseTest(baseUrl, urlFragment) {
  13. it("Models section should be expanded on load", () => {
  14. cy.visit(baseUrl)
  15. .get(".models")
  16. .should("have.class", "is-open")
  17. .get("#model-Pet")
  18. .should("exist")
  19. })
  20. it("Models section should collapse and expand when toggled", () => {
  21. cy.visit(baseUrl)
  22. .get(".models h4")
  23. .click()
  24. .get(".models")
  25. .should("not.have.class", "is-open")
  26. .get("#model-Order")
  27. .should("not.exist")
  28. .get(".models h4")
  29. .click()
  30. .get(".models")
  31. .should("have.class", "is-open")
  32. .get("#model-Order")
  33. .should("exist")
  34. })
  35. it("Model should collapse and expand when toggled clicking title", () => {
  36. cy.visit(baseUrl)
  37. .get("#model-User .model-box .pointer:nth-child(1)")
  38. .click()
  39. .get("#model-User .model-box .model .inner-object")
  40. .should("exist")
  41. .get("#model-User .model-box .pointer:nth-child(1)")
  42. .click()
  43. .get("#model-User .model-box .model .inner-object")
  44. .should("not.exist")
  45. })
  46. it("Model should collapse and expand when toggled clicking arrow", () => {
  47. cy.visit(baseUrl)
  48. .get("#model-User .model-box .pointer:nth-child(2)")
  49. .click()
  50. .get("#model-User .model-box .model .inner-object")
  51. .should("exist")
  52. .get("#model-User .model-box .pointer:nth-child(2)")
  53. .click()
  54. .get("#model-User .model-box .model .inner-object")
  55. .should("not.exist")
  56. })
  57. }