mirror of
				https://github.com/Redocly/redoc.git
				synced 2025-11-04 01:37:32 +03:00 
			
		
		
		
	fix: default value as object in request body (#2437)
This commit is contained in:
		
							parent
							
								
									ba7cd0a130
								
							
						
					
					
						commit
						b36a6e27bb
					
				| 
						 | 
					@ -51,10 +51,10 @@ export const FieldDetailsComponent = observer((props: FieldProps) => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return null;
 | 
					    return null;
 | 
				
			||||||
  }, [field, showExamples]);
 | 
					  }, [field, showExamples]);
 | 
				
			||||||
 | 
					  const defaultValue =
 | 
				
			||||||
  const defaultValue = isObject(schema.default)
 | 
					    isObject(schema.default) && field.in
 | 
				
			||||||
    ? getSerializedValue(field, schema.default).replace(`${field.name}=`, '')
 | 
					      ? getSerializedValue(field, schema.default).replace(`${field.name}=`, '')
 | 
				
			||||||
    : schema.default;
 | 
					      : schema.default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,4 +44,36 @@ describe('FieldDetailsComponent', () => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    expect(wrapper.render()).toMatchSnapshot();
 | 
					    expect(wrapper.render()).toMatchSnapshot();
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  it('renders correctly when default value is object in request body', () => {
 | 
				
			||||||
 | 
					    const mockFieldProps = {
 | 
				
			||||||
 | 
					      showExamples: true,
 | 
				
			||||||
 | 
					      field: {
 | 
				
			||||||
 | 
					        schema: {
 | 
				
			||||||
 | 
					          type: 'object',
 | 
				
			||||||
 | 
					          default: { properties: {} },
 | 
				
			||||||
 | 
					          displayType: 'object',
 | 
				
			||||||
 | 
					          title: 'test title',
 | 
				
			||||||
 | 
					          externalDocs: undefined,
 | 
				
			||||||
 | 
					          constraints: [''],
 | 
				
			||||||
 | 
					        } as SchemaModel,
 | 
				
			||||||
 | 
					        example: 'example',
 | 
				
			||||||
 | 
					        name: 'name',
 | 
				
			||||||
 | 
					        expanded: false,
 | 
				
			||||||
 | 
					        required: false,
 | 
				
			||||||
 | 
					        kind: '',
 | 
				
			||||||
 | 
					        deprecated: false,
 | 
				
			||||||
 | 
					        collapse: jest.fn(),
 | 
				
			||||||
 | 
					        toggle: jest.fn(),
 | 
				
			||||||
 | 
					        explode: false,
 | 
				
			||||||
 | 
					        expand: jest.fn(),
 | 
				
			||||||
 | 
					        description: 'test description',
 | 
				
			||||||
 | 
					        in: undefined,
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      renderDiscriminatorSwitch: jest.fn(),
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    const wrapper = shallow(withTheme(<FieldDetails {...mockFieldProps} />));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    expect(wrapper.render()).toMatchSnapshot();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,73 @@ exports[`FieldDetailsComponent renders correctly 1`] = `
 | 
				
			||||||
    <span
 | 
					    <span
 | 
				
			||||||
      class="sc-kpDqfm sc-eldPxv cGRfjn ehWiAn"
 | 
					      class="sc-kpDqfm sc-eldPxv cGRfjn ehWiAn"
 | 
				
			||||||
    >
 | 
					    >
 | 
				
			||||||
      ""
 | 
					      []
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm cGRfjn"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					       Example: 
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					     
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm sc-eldPxv cGRfjn ehWiAn"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      "example"
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <div
 | 
				
			||||||
 | 
					      class="sc-lcIPJg sc-hknOHE gBHqkN jFBMaE"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      <p>
 | 
				
			||||||
 | 
					        test description
 | 
				
			||||||
 | 
					      </p>
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports[`FieldDetailsComponent renders correctly when default value is object in request body 1`] = `
 | 
				
			||||||
 | 
					<div>
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm sc-dAlyuH cGRfjn gHomYR"
 | 
				
			||||||
 | 
					    />
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm sc-jlZhew cGRfjn dYtiIA"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      object
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm sc-cwHptR cGRfjn gyVIPr"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					       (test title) 
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					    <span>
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
 | 
					      <span
 | 
				
			||||||
 | 
					        class="sc-kpDqfm sc-gFqAkR cGRfjn fYEICH"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					      </span>
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  <div>
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm cGRfjn"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					       Default: 
 | 
				
			||||||
 | 
					    </span>
 | 
				
			||||||
 | 
					     
 | 
				
			||||||
 | 
					    <span
 | 
				
			||||||
 | 
					      class="sc-kpDqfm sc-eldPxv cGRfjn ehWiAn"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      {"properties":{}}
 | 
				
			||||||
    </span>
 | 
					    </span>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user