fix(components): fix rendering for empty examples in responses (#9926)

Refs #9499
This commit is contained in:
Oliwia Rogala
2024-05-10 13:42:33 +02:00
committed by GitHub
parent a99be53a84
commit 94f2d8298a
3 changed files with 43 additions and 2 deletions

View File

@@ -134,7 +134,7 @@ export default class Response extends React.Component {
// Goal: find an example value for `sampleResponse`
if(isOAS3) {
sampleSchema = activeMediaType.get("schema")?.toJS()
if(examplesForMediaType) {
if(Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty()) {
const targetExamplesKey = this.getTargetExamplesKey()
const targetExample = examplesForMediaType
.get(targetExamplesKey, Map({}))
@@ -208,7 +208,7 @@ export default class Response extends React.Component {
</small>
) : null}
</div>
{examplesForMediaType ? (
{Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty() ? (
<div className="response-control-examples">
<small className="response-control-examples__title">
Examples

View File

@@ -0,0 +1,16 @@
/**
* @prettier
*/
describe("Response examples", () => {
it("should render a generated example when an empty examples object is provided", () => {
cy.visit("/?url=/documents/features/response-empty-examples-object.yaml")
.get("#operations-TEST-test")
.click()
.get(".example.microlight")
.should("exist")
.contains("{}")
.get(".examples-select-element")
.should("not.exist")
})
})

View File

@@ -0,0 +1,25 @@
openapi: 3.1.0
info:
title: TEST
description: TEST
version: '1.0'
servers:
- url: localhost:8080
tags:
- name: TEST
paths:
/test-endpoint:
get:
summary: Test
operationId: test
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
examples: {}
description: Test
tags:
- TEST