2019-05-13 22:15:53 +03:00
|
|
|
// tslint:disable:no-implicit-dependencies
|
2021-06-02 15:53:36 +03:00
|
|
|
import * as yaml from 'js-yaml';
|
2019-05-13 22:15:53 +03:00
|
|
|
|
|
|
|
async function loadSpec(url: string): Promise<any> {
|
|
|
|
const spec = await (await fetch(url)).text();
|
|
|
|
return yaml.load(spec);
|
|
|
|
}
|
|
|
|
|
|
|
|
function initReDoc(win, spec, options = {}) {
|
|
|
|
(win as any).Redoc.init(spec, options, win.document.getElementById('redoc'));
|
|
|
|
}
|
|
|
|
|
|
|
|
describe('Servers', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.visit('e2e/');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should have valid server', () => {
|
|
|
|
cy.window().then(async win => {
|
|
|
|
const spec = await loadSpec('/demo/openapi.yaml');
|
|
|
|
initReDoc(win, spec, {});
|
|
|
|
|
|
|
|
// TODO add cy-data attributes
|
|
|
|
cy.get('[data-section-id="operation/addPet"]').should(
|
|
|
|
'contain',
|
|
|
|
'http://petstore.swagger.io/v2/pet',
|
|
|
|
);
|
|
|
|
|
|
|
|
cy.get('[data-section-id="operation/addPet"]').should(
|
|
|
|
'contain',
|
|
|
|
'http://petstore.swagger.io/sandbox/pet',
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should have valid server for when servers not provided', () => {
|
|
|
|
cy.window().then(async win => {
|
|
|
|
const spec = await loadSpec('/demo/openapi.yaml');
|
|
|
|
delete spec.servers;
|
|
|
|
initReDoc(win, spec, {});
|
|
|
|
|
|
|
|
// TODO add cy-data attributes
|
|
|
|
cy.get('[data-section-id="operation/addPet"]').should(
|
|
|
|
'contain',
|
2020-01-10 18:04:13 +03:00
|
|
|
'http://localhost:' + win.location.port + '/pet',
|
2019-05-13 22:15:53 +03:00
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should have valid server for when servers not provided at .html pages', () => {
|
|
|
|
cy.visit('e2e/e2e.html');
|
|
|
|
cy.window().then(async win => {
|
|
|
|
const spec = await loadSpec('/demo/openapi.yaml');
|
|
|
|
delete spec.servers;
|
|
|
|
initReDoc(win, spec, {});
|
|
|
|
|
|
|
|
// TODO add cy-data attributes
|
|
|
|
cy.get('[data-section-id="operation/addPet"]').should(
|
|
|
|
'contain',
|
2020-01-10 18:04:13 +03:00
|
|
|
'http://localhost:' + win.location.port + '/pet',
|
2019-05-13 22:15:53 +03:00
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|