Skip to content

Commit 94f2d82

Browse files
authored
fix(components): fix rendering for empty examples in responses (#9926)
Refs #9499
1 parent a99be53 commit 94f2d82

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

src/core/components/response.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export default class Response extends React.Component {
134134
// Goal: find an example value for `sampleResponse`
135135
if(isOAS3) {
136136
sampleSchema = activeMediaType.get("schema")?.toJS()
137-
if(examplesForMediaType) {
137+
if(Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty()) {
138138
const targetExamplesKey = this.getTargetExamplesKey()
139139
const targetExample = examplesForMediaType
140140
.get(targetExamplesKey, Map({}))
@@ -208,7 +208,7 @@ export default class Response extends React.Component {
208208
</small>
209209
) : null}
210210
</div>
211-
{examplesForMediaType ? (
211+
{Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty() ? (
212212
<div className="response-control-examples">
213213
<small className="response-control-examples__title">
214214
Examples
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @prettier
3+
*/
4+
5+
describe("Response examples", () => {
6+
it("should render a generated example when an empty examples object is provided", () => {
7+
cy.visit("/?url=/documents/features/response-empty-examples-object.yaml")
8+
.get("#operations-TEST-test")
9+
.click()
10+
.get(".example.microlight")
11+
.should("exist")
12+
.contains("{}")
13+
.get(".examples-select-element")
14+
.should("not.exist")
15+
})
16+
})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
openapi: 3.1.0
2+
info:
3+
title: TEST
4+
description: TEST
5+
version: '1.0'
6+
servers:
7+
- url: localhost:8080
8+
tags:
9+
- name: TEST
10+
paths:
11+
/test-endpoint:
12+
get:
13+
summary: Test
14+
operationId: test
15+
responses:
16+
'200':
17+
description: OK
18+
content:
19+
application/json:
20+
schema:
21+
type: object
22+
examples: {}
23+
description: Test
24+
tags:
25+
- TEST

0 commit comments

Comments
 (0)