Cleanup, fix tests

This commit is contained in:
Jonathan Bailey 2020-01-17 10:04:36 -05:00
parent 1f230e3e5b
commit b001efa412
8 changed files with 75 additions and 73 deletions

View File

@ -1,13 +1,13 @@
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
import { isPayloadSample, RedocNormalizedOptions } from '../../services';
import { PayloadSamples } from '../PayloadSamples/PayloadSamples';
import { SourceCodeWithCopy } from '../SourceCode/SourceCode';
import { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements'; import { RightPanelHeader, Tab, TabList, TabPanel, Tabs } from '../../common-elements';
import { OptionsContext } from '../OptionsProvider'; import { isPayloadSample, RedocNormalizedOptions } from '../../services';
import { CallbackModel } from '../../services/models'; import { CallbackModel } from '../../services/models';
import { Endpoint } from '../Endpoint/Endpoint'; import { Endpoint } from '../Endpoint/Endpoint';
import { OptionsContext } from '../OptionsProvider';
import { PayloadSamples } from '../PayloadSamples/PayloadSamples';
import { SourceCodeWithCopy } from '../SourceCode/SourceCode';
export interface CallbackSamplesProps { export interface CallbackSamplesProps {
callbacks: CallbackModel[]; callbacks: CallbackModel[];

View File

@ -1,8 +1,9 @@
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
import { OperationModel } from '../../services/models'; import { OperationModel } from '../../services/models';
import { CallbackDetails } from './CallbackDetails';
import { CallbackDetailsWrap, StyledCallbackTitle } from '../Callbacks/styled.elements'; import { CallbackDetailsWrap, StyledCallbackTitle } from '../Callbacks/styled.elements';
import { CallbackDetails } from './CallbackDetails';
@observer @observer
export class CallbackView extends React.Component<{ callbackOperation: OperationModel }> { export class CallbackView extends React.Component<{ callbackOperation: OperationModel }> {

View File

@ -1,4 +1,5 @@
import * as React from 'react'; import * as React from 'react';
import { OperationModel } from '../../services/models'; import { OperationModel } from '../../services/models';
import { OperationItem } from '../ContentItems/ContentItems'; import { OperationItem } from '../ContentItems/ContentItems';

View File

@ -1,4 +1,5 @@
import * as React from 'react'; import * as React from 'react';
import { CallbackModel } from '../../services/models'; import { CallbackModel } from '../../services/models';
import styled from '../../styled-components'; import styled from '../../styled-components';
import { CallbackView } from './Callback'; import { CallbackView } from './Callback';

View File

@ -1,26 +1,22 @@
import * as React from 'react';
import { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import * as React from 'react';
import { Badge, DarkRightPanel, H2, MiddlePanel, Row } from '../../common-elements'; import { Badge, DarkRightPanel, H2, MiddlePanel, Row } from '../../common-elements';
import { OptionsContext } from '../OptionsProvider';
import { ShareLink } from '../../common-elements/linkify'; import { ShareLink } from '../../common-elements/linkify';
import { OperationModel as OperationType } from '../../services/models';
import styled from '../../styled-components';
import { CallbacksList } from '../Callbacks';
import { CallbackSamples } from '../CallbackSamples/CallbackSamples';
import { Endpoint } from '../Endpoint/Endpoint'; import { Endpoint } from '../Endpoint/Endpoint';
import { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation'; import { ExternalDocumentation } from '../ExternalDocumentation/ExternalDocumentation';
import { Extensions } from '../Fields/Extensions';
import { Markdown } from '../Markdown/Markdown'; import { Markdown } from '../Markdown/Markdown';
import { OptionsContext } from '../OptionsProvider';
import { Parameters } from '../Parameters/Parameters'; import { Parameters } from '../Parameters/Parameters';
import { RequestSamples } from '../RequestSamples/RequestSamples'; import { RequestSamples } from '../RequestSamples/RequestSamples';
import { ResponsesList } from '../Responses/ResponsesList'; import { ResponsesList } from '../Responses/ResponsesList';
import { ResponseSamples } from '../ResponseSamples/ResponseSamples'; import { ResponseSamples } from '../ResponseSamples/ResponseSamples';
import { CallbacksList } from '../Callbacks'; import { SecurityRequirements } from '../SecurityRequirement/SecurityRequirement';
import { CallbackSamples } from '../CallbackSamples/CallbackSamples';
import { OperationModel as OperationType } from '../../services/models';
import styled from '../../styled-components';
import { Extensions } from '../Fields/Extensions';
const CallbackMiddlePanel = styled(MiddlePanel)` const CallbackMiddlePanel = styled(MiddlePanel)`
width: 100%; width: 100%;

View File

@ -4,9 +4,8 @@ import { shallow } from 'enzyme';
import * as React from 'react'; import * as React from 'react';
import { OpenAPIParser } from '../../services'; import { OpenAPIParser } from '../../services';
import { RedocNormalizedOptions } from '../../services/RedocNormalizedOptions';
import { CallbackModel } from '../../services/models/Callback'; import { CallbackModel } from '../../services/models/Callback';
import { RedocNormalizedOptions } from '../../services/RedocNormalizedOptions';
import { CallbacksList, CallbackTitle, CallbackView } from '../Callbacks'; import { CallbacksList, CallbackTitle, CallbackView } from '../Callbacks';
import * as simpleCallbackFixture from './fixtures/simple-callback.json'; import * as simpleCallbackFixture from './fixtures/simple-callback.json';
@ -21,6 +20,7 @@ describe('Components', () => {
{ $ref: '#/components/callbacks/Test' }, { $ref: '#/components/callbacks/Test' },
options, options,
); );
// There should be 1 operation defined in simple-callback.json, just get it manually for readability.
const callbackViewElement = shallow( const callbackViewElement = shallow(
<CallbackView key={callback.name} callbackOperation={callback.operations[0]} />, <CallbackView key={callback.name} callbackOperation={callback.operations[0]} />,
).getElement(); ).getElement();

View File

@ -1,64 +1,66 @@
{ {
"openapi": "3.0.0", "openapi": "3.0.0",
"info": { "info": {
"version": "1.0", "version": "1.0",
"title": "Foo" "title": "Foo"
}, },
"components": { "components": {
"callbacks": { "callbacks": {
"Test": { "Test": {
"post": { "/test": {
"operationId": "testCallback", "post": {
"description": "Test callback.", "operationId": "testCallback",
"requestBody": { "description": "Test callback.",
"content": { "requestBody": {
"application/json": { "content": {
"schema": { "application/json": {
"title": "TestTitle",
"type": "object",
"description": "Test description",
"properties": {
"type": {
"type": "string",
"description": "The type of response.",
"enum": [
"TestResponse.Complete"
]
},
"status": {
"type": "string",
"enum": [
"FAILURE",
"SUCCESS"
]
}
},
"required": [
"status"
]
}
}
}
},
"parameters": [
{
"name": "X-Test-Header",
"in": "header",
"required": true,
"example": "1",
"description": "This is a test header parameter",
"schema": { "schema": {
"type": "string" "title": "TestTitle",
"type": "object",
"description": "Test description",
"properties": {
"type": {
"type": "string",
"description": "The type of response.",
"enum": [
"TestResponse.Complete"
]
},
"status": {
"type": "string",
"enum": [
"FAILURE",
"SUCCESS"
]
}
},
"required": [
"status"
]
} }
} }
], }
"responses": { },
"204": { "parameters": [
"description": "Test response." {
"name": "X-Test-Header",
"in": "header",
"required": true,
"example": "1",
"description": "This is a test header parameter",
"schema": {
"type": "string"
} }
} }
],
"responses": {
"204": {
"description": "Test response."
}
} }
} }
}
} }
} }
} }
}

View File

@ -1,4 +1,5 @@
import { action, observable } from 'mobx'; import { action, observable } from 'mobx';
import { OpenAPICallback, Referenced } from '../../types'; import { OpenAPICallback, Referenced } from '../../types';
import { isOperationName } from '../../utils'; import { isOperationName } from '../../utils';
import { OpenAPIParser } from '../OpenAPIParser'; import { OpenAPIParser } from '../OpenAPIParser';