Refactoring

Rename schemaMgr to specMgr
fix error logs in tests
This commit is contained in:
Roman Hotsiy 2016-06-23 17:36:38 +03:00
parent 85d72d64e3
commit 003fba8651
No known key found for this signature in database
GPG Key ID: 5CB7B3ACABA57CB0
31 changed files with 153 additions and 155 deletions

View File

@ -123,7 +123,7 @@ var JS_DEPS = argv.prod ? [
]: [ ]: [
'lib/utils/browser-update.js', 'lib/utils/browser-update.js',
'node_modules/zone.js/dist/zone.js', 'node_modules/zone.js/dist/zone.js',
//'node_modules/zone.js/dist/long-stack-trace-zone.js', 'node_modules/zone.js/dist/long-stack-trace-zone.js',
'node_modules/reflect-metadata/Reflect.js', 'node_modules/reflect-metadata/Reflect.js',
'node_modules/babel-polyfill/dist/polyfill.js' 'node_modules/babel-polyfill/dist/polyfill.js'
]; ];
@ -145,7 +145,7 @@ gulp.task('concatDeps', ['concatPrism'], function() {
.pipe(gulp.dest('.')) .pipe(gulp.dest('.'))
}); });
gulp.task('bundle', function bundle(done) { gulp.task('bundle', ['injectVersionFile'], function bundle(done) {
mkdir('-p', 'dist'); mkdir('-p', 'dist');
cp('lib/index.js', path.join(paths.tmp, paths.sourceEntryPoint)); cp('lib/index.js', path.join(paths.tmp, paths.sourceEntryPoint));
var builder = new Builder('./', 'system.config.js'); var builder = new Builder('./', 'system.config.js');
@ -197,5 +197,6 @@ gulp.task('concatPrism', function() {
// needs inlineTemplates run before to create .tmp/lib folder // needs inlineTemplates run before to create .tmp/lib folder
gulp.task('injectVersionFile', function() { gulp.task('injectVersionFile', function() {
var version = require('../../package.json').version; var version = require('../../package.json').version;
fs.writeFileSync(path.join(paths.tmp, 'lib/version.json'), JSON.stringify(version)); var exportStatement = `export var redocVersion = "${version}"`;
fs.writeFileSync(path.join(paths.tmp, 'lib/version.js'), exportStatement);
}) })

View File

@ -8,6 +8,7 @@ gulp.task('prepare-test', function(cb) {
'clean', 'clean',
'transpile', 'transpile',
'concatPrism', 'concatPrism',
'injectVersionFile',
cb cb
); );
}) })

View File

@ -53,7 +53,7 @@ module.exports = function (config) {
loadFiles: ['.tmp/tests/setup.js', '.tmp/tests/helpers.js', '.tmp/lib/**/*.js', loadFiles: ['.tmp/tests/setup.js', '.tmp/tests/helpers.js', '.tmp/lib/**/*.js',
'.tmp/tests/unit/*.js'], '.tmp/tests/unit/*.js'],
serveFiles: ['tests/schemas/**/*.json','tests/schemas/**/*.yml', 'lib/**/*.html', serveFiles: ['tests/schemas/**/*.json','tests/schemas/**/*.yml', 'lib/**/*.html',
'.tmp/lib/**/*.json', '.tmp/*js', '.tmp/lib/**/*.css'] '.tmp/*js', '.tmp/lib/**/*.css']
}, },
proxies: { proxies: {

View File

@ -28,9 +28,9 @@ describe('Redoc components', () => {
provide(OptionsService, {useClass: OptionsService}) provide(OptionsService, {useClass: OptionsService})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, schemaMgr) => { beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, specMgr) => {
builder = tcb; builder = tcb;
return schemaMgr.load('/tests/schemas/api-info-test.json'); return specMgr.load('/tests/schemas/api-info-test.json');
}))); })));
beforeEach((done) => { beforeEach((done) => {

View File

@ -11,8 +11,8 @@ import { OptionsService } from '../../services/index';
export class ApiInfo extends BaseComponent { export class ApiInfo extends BaseComponent {
data: any; data: any;
specUrl: String; specUrl: String;
constructor(schemaMgr:SpecManager, private optionsService:OptionsService) { constructor(specMgr:SpecManager, private optionsService:OptionsService) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {

View File

@ -22,16 +22,16 @@ describe('Redoc components', () => {
let builder; let builder;
let component; let component;
let fixture; let fixture;
let schemaMgr; let specMgr;
let schemaUrl = '/tests/schemas/api-info-test.json'; let schemaUrl = '/tests/schemas/api-info-test.json';
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: new SpecManager()}) provide(SpecManager, {useValue: new SpecManager()})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, _schemaMgr) => { beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, _specMgr) => {
builder = tcb; builder = tcb;
schemaMgr = _schemaMgr; specMgr = _specMgr;
return schemaMgr.load(schemaUrl); return specMgr.load(schemaUrl);
}))); })));
beforeEach((done) => { beforeEach((done) => {
builder.createAsync(TestAppComponent).then(_fixture => { builder.createAsync(TestAppComponent).then(_fixture => {

View File

@ -10,8 +10,8 @@ import {RedocComponent, BaseComponent, SpecManager} from '../base';
export class ApiLogo extends BaseComponent { export class ApiLogo extends BaseComponent {
data:any = {}; data:any = {};
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {

View File

@ -21,7 +21,7 @@ describe('Redoc components', () => {
describe('JsonSchemaLazy Component', () => { describe('JsonSchemaLazy Component', () => {
let builder; let builder;
let component; let component;
let schemaMgr = new SpecManager(); let specMgr = new SpecManager();
let fixture; let fixture;
let loader; let loader;
let appRefMock = { let appRefMock = {
@ -31,7 +31,7 @@ describe('Redoc components', () => {
hostView: { changeDetectorRef: {detectChanges : () => undefined} } hostView: { changeDetectorRef: {detectChanges : () => undefined} }
}; };
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: schemaMgr}) provide(SpecManager, {useValue: specMgr})
]); ]);
beforeEach(inject([TestComponentBuilder, DynamicComponentLoader], (tcb, dcl) => { beforeEach(inject([TestComponentBuilder, DynamicComponentLoader], (tcb, dcl) => {
builder = tcb; builder = tcb;

View File

@ -8,10 +8,8 @@ import { JsonSchema } from './json-schema';
import { OptionsService } from '../../services/options.service'; import { OptionsService } from '../../services/options.service';
import { SpecManager } from '../../utils/SpecManager'; import { SpecManager } from '../../utils/SpecManager';
var cache = {}; var cache = {};
@Component({ @Component({
selector: 'json-schema-lazy', selector: 'json-schema-lazy',
template: '', template: '',
@ -22,23 +20,26 @@ export class JsonSchemaLazy implements OnDestroy, AfterViewInit {
@Input() auto: boolean; @Input() auto: boolean;
@Input() isRequestSchema: boolean; @Input() isRequestSchema: boolean;
loaded: boolean = false; loaded: boolean = false;
constructor(private schemaMgr:SpecManager, private viewRef:ViewContainerRef, private elementRef:ElementRef, constructor(private specMgr:SpecManager, private viewRef:ViewContainerRef, private elementRef:ElementRef,
private dcl:DynamicComponentLoader, private optionsService:OptionsService) { private dcl:DynamicComponentLoader, private optionsService:OptionsService) {
} }
normalizePointer() { normalizePointer() {
let schema = this.schemaMgr.byPointer(this.pointer); let schema = this.specMgr.byPointer(this.pointer);
return schema && schema.$ref || this.pointer; return schema && schema.$ref || this.pointer;
} }
_loadAfterSelf() { _loadAfterSelf() {
// FIXME: get rid of DynamicComponentLoader as it is deprecated // FIXME: get rid of DynamicComponentLoader as it is deprecated
return this.dcl.loadNextToLocation(JsonSchema, this.viewRef).then((compRef) => { return this.dcl.loadNextToLocation(JsonSchema, this.viewRef).then(compRef => {
this.initComponent(compRef); this.initComponent(compRef);
if (compRef.changeDetectorRef) { if (compRef.changeDetectorRef) {
compRef.changeDetectorRef.detectChanges(); compRef.changeDetectorRef.detectChanges();
} }
return compRef; return compRef;
}, err => {
console.log(err);
throw err;
}); });
} }

View File

@ -19,10 +19,10 @@ describe('Redoc components', () => {
describe('JsonSchema Component', () => { describe('JsonSchema Component', () => {
let builder; let builder;
let component; let component;
let schemaMgr = new SpecManager(); let specMgr = new SpecManager();
let fixture; let fixture;
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: schemaMgr}) provide(SpecManager, {useValue: specMgr})
]); ]);
beforeEach(inject([TestComponentBuilder], (tcb) => { beforeEach(inject([TestComponentBuilder], (tcb) => {
builder = tcb; builder = tcb;
@ -38,21 +38,21 @@ describe('Redoc components', () => {
it('should init component', () => { it('should init component', () => {
component.pointer = ''; component.pointer = '';
(<any>schemaMgr)._schema = {type: 'object'}; (<any>specMgr)._schema = {type: 'object'};
fixture.detectChanges(); fixture.detectChanges();
expect(component).not.toBeNull(); expect(component).not.toBeNull();
}); });
it('should set isTrivial for non-object/array types', () => { it('should set isTrivial for non-object/array types', () => {
component.pointer = ''; component.pointer = '';
(<any>schemaMgr)._schema = {type: 'string'}; (<any>specMgr)._schema = {type: 'string'};
fixture.detectChanges(); fixture.detectChanges();
component.schema.isTrivial.should.be.true(); component.schema.isTrivial.should.be.true();
}); });
it('should use < * > notation for prop without type', () => { it('should use < * > notation for prop without type', () => {
component.pointer = ''; component.pointer = '';
(<any>schemaMgr)._schema = {type: 'object', properties: { (<any>specMgr)._schema = {type: 'object', properties: {
test: {} test: {}
}}; }};
fixture.detectChanges(); fixture.detectChanges();

View File

@ -24,9 +24,9 @@ export class JsonSchema extends BaseComponent {
@Input() isRequestSchema: boolean; @Input() isRequestSchema: boolean;
normalizer: SchemaNormalizer; normalizer: SchemaNormalizer;
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
this.normalizer = new SchemaNormalizer(schemaMgr); this.normalizer = new SchemaNormalizer(specMgr);
} }
get normPointer() { get normPointer() {

View File

@ -22,9 +22,9 @@ describe('Redoc components', () => {
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: new SpecManager()}) provide(SpecManager, {useValue: new SpecManager()})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, schemaMgr) => { beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, specMgr) => {
builder = tcb; builder = tcb;
return schemaMgr.load('/tests/schemas/extended-petstore.yml'); return specMgr.load('/tests/schemas/extended-petstore.yml');
}))); })));
beforeEach((done) => { beforeEach((done) => {
builder.createAsync(TestAppComponent).then(fixture => { builder.createAsync(TestAppComponent).then(fixture => {

View File

@ -19,13 +19,13 @@ import { RequestSamples } from '../RequestSamples/request-samples';
export class Method extends BaseComponent { export class Method extends BaseComponent {
data:any; data:any;
@Input() tag:string; @Input() tag:string;
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {
this.data = {}; this.data = {};
this.data.apiUrl = this.schemaMgr.apiUrl; this.data.apiUrl = this.specMgr.apiUrl;
this.data.httpMethod = JsonPointer.baseName(this.pointer); this.data.httpMethod = JsonPointer.baseName(this.pointer);
this.data.path = JsonPointer.baseName(this.pointer, 2); this.data.path = JsonPointer.baseName(this.pointer, 2);
this.data.methodInfo = this.componentSchema; this.data.methodInfo = this.componentSchema;
@ -39,13 +39,13 @@ export class Method extends BaseComponent {
} }
filterMainTags(tags) { filterMainTags(tags) {
var tagsMap = this.schemaMgr.getTagsMap(); var tagsMap = this.specMgr.getTagsMap();
if (!tags) return []; if (!tags) return [];
return tags.filter(tag => tagsMap[tag] && tagsMap[tag]['x-traitTag']); return tags.filter(tag => tagsMap[tag] && tagsMap[tag]['x-traitTag']);
} }
findBodyParam() { findBodyParam() {
let pathParams = this.schemaMgr.getMethodParams(this.pointer, true); let pathParams = this.specMgr.getMethodParams(this.pointer, true);
let bodyParam = pathParams.find(param => param.in === 'body'); let bodyParam = pathParams.find(param => param.in === 'body');
return bodyParam; return bodyParam;
} }

View File

@ -24,9 +24,9 @@ describe('Redoc components', () => {
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: new SpecManager()}) provide(SpecManager, {useValue: new SpecManager()})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, schemaMgr) => { beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, specMgr) => {
builder = tcb; builder = tcb;
return schemaMgr.load('/tests/schemas/methods-list-component.json'); return specMgr.load('/tests/schemas/methods-list-component.json');
}))); })));
beforeEach((done) => { beforeEach((done) => {
builder.createAsync(TestAppComponent).then(_fixture => { builder.createAsync(TestAppComponent).then(_fixture => {

View File

@ -15,8 +15,8 @@ import { EncodeURIComponentPipe } from '../../utils/pipes';
}) })
export class MethodsList extends BaseComponent { export class MethodsList extends BaseComponent {
data:any; data:any;
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {
@ -24,7 +24,7 @@ export class MethodsList extends BaseComponent {
// follow SwaggerUI behavior for cases when one method has more than one tag: // follow SwaggerUI behavior for cases when one method has more than one tag:
// duplicate methods // duplicate methods
let menuStructure = this.schemaMgr.buildMenuTree(); let menuStructure = this.specMgr.buildMenuTree();
let tags = Array.from<any>(menuStructure.entries()) let tags = Array.from<any>(menuStructure.entries())
.map((entry) => { .map((entry) => {
let [tag, {description, methods}] = entry; let [tag, {description, methods}] = entry;

View File

@ -20,13 +20,13 @@ export class ParamsList extends BaseComponent {
data:any; data:any;
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {
this.data = {}; this.data = {};
let paramsList = this.schemaMgr.getMethodParams(this.pointer, true); let paramsList = this.specMgr.getMethodParams(this.pointer, true);
paramsList = paramsList.map(paramSchema => { paramsList = paramsList.map(paramSchema => {
let propPointer = paramSchema._pointer; let propPointer = paramSchema._pointer;

View File

@ -23,19 +23,19 @@ let optsMgr:OptionsService;
describe('Redoc components', () => { describe('Redoc components', () => {
describe('Redoc Component', () => { describe('Redoc Component', () => {
let builder; let builder;
let schemaMgr; let specMgr;
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(SpecManager, {useValue: new SpecManager()}), provide(SpecManager, {useValue: new SpecManager()}),
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager, OptionsService], beforeEach(async(inject([TestComponentBuilder, SpecManager, OptionsService],
(tcb, _schemaMgr, _optsMgr) => { (tcb, _specMgr, _optsMgr) => {
optsMgr = _optsMgr; optsMgr = _optsMgr;
builder = tcb; builder = tcb;
schemaMgr = _schemaMgr; specMgr = _specMgr;
}))); })));
beforeEach((done) => { beforeEach((done) => {
return schemaMgr.load('/tests/schemas/extended-petstore.yml') return specMgr.load('/tests/schemas/extended-petstore.yml')
.then(() => done()) .then(() => done())
.catch(err => done.fail(err)); .catch(err => done.fail(err));
}); });
@ -110,9 +110,9 @@ describe('Redoc components', () => {
provide(BrowserDomAdapter, {useValue: new BrowserDomAdapter()}), provide(BrowserDomAdapter, {useValue: new BrowserDomAdapter()}),
provide(OptionsService, {useValue: optsMgr}) provide(OptionsService, {useValue: optsMgr})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, schemaMgr) => { beforeEach(async(inject([TestComponentBuilder, SpecManager], (tcb, specMgr) => {
builder = tcb; builder = tcb;
return schemaMgr.load('/tests/schemas/methods-list-component.json'); return specMgr.load('/tests/schemas/methods-list-component.json');
}))); })));
beforeEach((done) => { beforeEach((done) => {

View File

@ -16,7 +16,6 @@ import { SideMenu } from '../SideMenu/side-menu';
import { StickySidebar } from '../../shared/components/index'; import { StickySidebar } from '../../shared/components/index';
import {SpecManager} from '../../utils/SpecManager'; import {SpecManager} from '../../utils/SpecManager';
import { OptionsService, RedocEventsService } from '../../services/index'; import { OptionsService, RedocEventsService } from '../../services/index';
//import redocVersion from '../../version.js';
var dom = new BrowserDomAdapter(); var dom = new BrowserDomAdapter();
var _modeLocked = false; var _modeLocked = false;
@ -48,6 +47,7 @@ export class Redoc extends BaseComponent implements AfterViewInit {
static hideLoadingAnimation() { static hideLoadingAnimation() {
let redocEl = dom.query('redoc'); let redocEl = dom.query('redoc');
if (!redocEl) return;
dom.addClass(redocEl, 'loading-remove'); dom.addClass(redocEl, 'loading-remove');
setTimeout(() => { setTimeout(() => {
dom.removeClass(redocEl, 'loading-remove'); dom.removeClass(redocEl, 'loading-remove');
@ -99,6 +99,7 @@ export class Redoc extends BaseComponent implements AfterViewInit {
static displayError(err) { static displayError(err) {
console.log(err); console.log(err);
let redocEl = dom.query('redoc'); let redocEl = dom.query('redoc');
if (!redocEl) return;
let heading = 'Oops... ReDoc failed to render this spec'; let heading = 'Oops... ReDoc failed to render this spec';
let details = err.message; let details = err.message;
let erroHtml = `<div class="redoc-error"> let erroHtml = `<div class="redoc-error">
@ -107,10 +108,6 @@ export class Redoc extends BaseComponent implements AfterViewInit {
redocEl.innerHTML = erroHtml; redocEl.innerHTML = erroHtml;
} }
// static get version() {
// return redocVersion;
// }
static destroy() { static destroy() {
let el = dom.query('redoc'); let el = dom.query('redoc');
let elClone; let elClone;
@ -133,9 +130,9 @@ export class Redoc extends BaseComponent implements AfterViewInit {
} }
} }
constructor(schemaMgr: SpecManager, optionsMgr:OptionsService, elementRef:ElementRef, constructor(specMgr: SpecManager, optionsMgr:OptionsService, elementRef:ElementRef,
public events:RedocEventsService) { public events:RedocEventsService) {
super(schemaMgr); super(specMgr);
this.element = elementRef.nativeElement; this.element = elementRef.nativeElement;
//parse options (top level component doesn't support inputs) //parse options (top level component doesn't support inputs)
optionsMgr.parseOptions( this.element ); optionsMgr.parseOptions( this.element );

View File

@ -25,8 +25,8 @@ export class RequestSamples extends BaseComponent {
data: any; data: any;
@Input() schemaPointer:string; @Input() schemaPointer:string;
@ViewChildren(Tabs) childQuery:QueryList<Tabs>; @ViewChildren(Tabs) childQuery:QueryList<Tabs>;
constructor(schemaMgr:SpecManager, public events:RedocEventsService) { constructor(specMgr:SpecManager, public events:RedocEventsService) {
super(schemaMgr); super(specMgr);
this.selectedLang = this.events.samplesLanguageChanged; this.selectedLang = this.events.samplesLanguageChanged;
} }

View File

@ -22,8 +22,8 @@ function isNumeric(n) {
export class ResponsesList extends BaseComponent { export class ResponsesList extends BaseComponent {
data: any; data: any;
options: any; options: any;
constructor(schemaMgr:SpecManager, optionsMgr:OptionsService) { constructor(specMgr:SpecManager, optionsMgr:OptionsService) {
super(schemaMgr); super(specMgr);
this.options = optionsMgr.options; this.options = optionsMgr.options;
} }
@ -42,7 +42,7 @@ export class ResponsesList extends BaseComponent {
resp.pointer = JsonPointer.join(this.pointer, respCode); resp.pointer = JsonPointer.join(this.pointer, respCode);
if (resp.$ref) { if (resp.$ref) {
let ref = resp.$ref; let ref = resp.$ref;
resp = this.schemaMgr.byPointer(resp.$ref); resp = this.specMgr.byPointer(resp.$ref);
resp.pointer = ref; resp.pointer = ref;
} }

View File

@ -25,8 +25,8 @@ function hasExample(response) {
}) })
export class ResponsesSamples extends BaseComponent { export class ResponsesSamples extends BaseComponent {
data: any; data: any;
constructor(schemaMgr:SpecManager) { constructor(specMgr:SpecManager) {
super(schemaMgr); super(specMgr);
} }
prepareModel() { prepareModel() {
@ -44,7 +44,7 @@ export class ResponsesSamples extends BaseComponent {
resp.pointer = JsonPointer.join(this.pointer, respCode); resp.pointer = JsonPointer.join(this.pointer, respCode);
if (resp.$ref) { if (resp.$ref) {
let ref = resp.$ref; let ref = resp.$ref;
resp = this.schemaMgr.byPointer(resp.$ref); resp = this.specMgr.byPointer(resp.$ref);
resp.pointer = ref; resp.pointer = ref;
} }

View File

@ -21,10 +21,10 @@ export class SchemaSample extends BaseComponent {
private _normalizer:SchemaNormalizer; private _normalizer:SchemaNormalizer;
constructor(schemaMgr:SpecManager, elementRef:ElementRef) { constructor(specMgr:SpecManager, elementRef:ElementRef) {
super(schemaMgr); super(specMgr);
this.element = elementRef.nativeElement; this.element = elementRef.nativeElement;
this._normalizer = new SchemaNormalizer(schemaMgr); this._normalizer = new SchemaNormalizer(specMgr);
} }
init() { init() {

View File

@ -29,14 +29,14 @@ describe('Redoc components', () => {
provide(SpecManager, {useValue: new SpecManager()}) provide(SpecManager, {useValue: new SpecManager()})
]); ]);
beforeEach(async(inject([TestComponentBuilder, SpecManager, OptionsService], beforeEach(async(inject([TestComponentBuilder, SpecManager, OptionsService],
(tcb, schemaMgr, opts) => { (tcb, specMgr, opts) => {
builder = tcb; builder = tcb;
testOptions = opts; testOptions = opts;
testOptions.options = { testOptions.options = {
scrollYOffset: () => 0, scrollYOffset: () => 0,
scrollParent: window scrollParent: window
}; };
return schemaMgr.load('/tests/schemas/extended-petstore.yml'); return specMgr.load('/tests/schemas/extended-petstore.yml');
}))); })));
beforeEach((done) => { beforeEach((done) => {

View File

@ -35,10 +35,10 @@ export class SideMenu extends BaseComponent {
activeItemCaption: string; activeItemCaption: string;
options: any; options: any;
data: any; data: any;
constructor(schemaMgr:SpecManager, elementRef:ElementRef, private dom:BrowserDomAdapter, constructor(specMgr:SpecManager, elementRef:ElementRef, private dom:BrowserDomAdapter,
private scrollService:ScrollService, private menuService:MenuService, private hash:Hash, private scrollService:ScrollService, private menuService:MenuService, private hash:Hash,
optionsService:OptionsService, private detectorRef:ChangeDetectorRef) { optionsService:OptionsService, private detectorRef:ChangeDetectorRef) {
super(schemaMgr); super(specMgr);
this.$element = elementRef.nativeElement; this.$element = elementRef.nativeElement;
this.activeCatCaption = ''; this.activeCatCaption = '';

View File

@ -5,20 +5,20 @@ import { BaseComponent } from '../components/base';
describe('Redoc components', () => { describe('Redoc components', () => {
describe('BaseComponent', () => { describe('BaseComponent', () => {
let schemaMgr; let specMgr;
let component; let component;
beforeAll(() => { beforeAll(() => {
schemaMgr = new SpecManager(); specMgr = new SpecManager();
schemaMgr._schema = {tags: []}; specMgr._schema = {tags: []};
}); });
beforeEach(() => { beforeEach(() => {
component = new BaseComponent(schemaMgr); component = new BaseComponent(specMgr);
}); });
it('should set instance properties', () => { it('should set instance properties', () => {
component.schemaMgr.should.be.equal(schemaMgr); component.specMgr.should.be.equal(specMgr);
//component.schema.should.be.of.type('object'); //component.schema.should.be.of.type('object');
expect(component.componentSchema).toBeNull(); expect(component.componentSchema).toBeNull();
}); });
@ -26,7 +26,7 @@ describe('Redoc components', () => {
it('should set componentSchema based on pointer on ngOnInit', () => { it('should set componentSchema based on pointer on ngOnInit', () => {
component.pointer = '/tags'; component.pointer = '/tags';
component.ngOnInit(); component.ngOnInit();
component.componentSchema.should.be.deepEqual(schemaMgr._schema.tags); component.componentSchema.should.be.deepEqual(specMgr._schema.tags);
}); });
it('should call prepareModel and init virtual methods after init', () => { it('should call prepareModel and init virtual methods after init', () => {

View File

@ -84,14 +84,14 @@ export class BaseComponent implements OnInit, OnDestroy {
pointer: String; pointer: String;
dereferencedCache = {}; dereferencedCache = {};
constructor(public schemaMgr: SpecManager) { constructor(public specMgr: SpecManager) {
} }
/** /**
* onInit method is run by angular2 after all component inputs are resolved * onInit method is run by angular2 after all component inputs are resolved
*/ */
ngOnInit() { ngOnInit() {
this.componentSchema = this.schemaMgr.byPointer(this.pointer || ''); this.componentSchema = this.specMgr.byPointer(this.pointer || '');
this.prepareModel(); this.prepareModel();
this.init(); this.init();
} }

View File

@ -3,9 +3,12 @@ import 'dropkickjs/build/css/dropkick.css!css';
import 'prismjs/themes/prism-dark.css!css'; import 'prismjs/themes/prism-dark.css!css';
import 'hint.css/hint.base.css!css'; import 'hint.css/hint.base.css!css';
import './components/Redoc/redoc-initial-styles.css!css'; import './components/Redoc/redoc-initial-styles.css!css';
import { redocVersion } from './version.js';
import { Redoc } from './components/index'; import { Redoc } from './components/index';
Redoc.version = redocVersion;
export var init = Redoc.init; export var init = Redoc.init;
window['Redoc'] = Redoc; window['Redoc'] = Redoc;

View File

@ -6,57 +6,54 @@ import {
beforeEach, beforeEach,
describe, describe,
beforeEachProviders, beforeEachProviders,
it it,
async
} from '@angular/core/testing'; } from '@angular/core/testing';
import { TestComponentBuilder } from '@angular/compiler/testing'; import { TestComponentBuilder } from '@angular/compiler/testing';
import { OptionsService } from './options.service';
import { MenuService } from './menu.service'; import { MenuService } from './menu.service';
import { Hash } from './hash.service'; import { Hash } from './hash.service';
import { ScrollService } from './scroll.service'; import { ScrollService } from './scroll.service';
import { RedocEventsService } from './events.service';
import { MethodsList } from '../components/index'; import { MethodsList } from '../components/index';
import { SpecManager } from '../utils/SpecManager';; import { SpecManager } from '../utils/SpecManager';;
describe('Menu service', () => { describe('Menu service', () => {
let menu, hashService, scroll; let menu, hashService, scroll;
let builder; let builder;
let schemaMgr; let specMgr = new SpecManager();
beforeEachProviders(() => [ beforeEachProviders(() => [
provide(BrowserDomAdapter, {useClass: BrowserDomAdapter}), provide(BrowserDomAdapter, {useClass: BrowserDomAdapter}),
provide(OptionsService, {useClass: OptionsService}),
provide(Hash, {useClass: Hash}), provide(Hash, {useClass: Hash}),
provide(ScrollService, {useClass: ScrollService}), provide(ScrollService, {useClass: ScrollService}),
provide(RedocEventsService, {useClass: RedocEventsService}), provide(SpecManager, {useValue: new SpecManager()})
provide(SpecManager, {useClass: SpecManager})
]); ]);
beforeEach(inject([Hash, ScrollService, SpecManager, TestComponentBuilder], beforeEach(async(inject([Hash, ScrollService, TestComponentBuilder, SpecManager],
(_hash, _scroll, _schemaMgr, tcb) => { (_hash, _scroll, tcb, _specMgr) => {
hashService = _hash; hashService = _hash;
scroll = _scroll; scroll = _scroll;
schemaMgr = _schemaMgr;
builder = tcb; builder = tcb;
})); specMgr = _specMgr;
})));
beforeEach(done => {
beforeEach((done) => { specMgr.load('/tests/schemas/extended-petstore.yml').then(r => {
schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => {
menu = new MenuService(hashService, scroll, schemaMgr);
done(); done();
}).catch((err) => done.fail(err)); }).catch(e => {
done.fail(e);
});
}); });
beforeEach((done) => { beforeEach(done => {
builder.createAsync(TestAppComponent).then((fixture) => { menu = new MenuService(hashService, scroll, specMgr);
builder.createAsync(TestAppComponent).then(fixture => {
fixture.detectChanges(); fixture.detectChanges();
done(); done();
}).catch((err) => done.fail(err)); }).catch(err => done.fail(err) );
}); });
it('should run hashScroll when hash changed', (done) => { it('should run hashScroll when hash changed', (done) => {
spyOn(menu, 'hashScroll').and.callThrough(); spyOn(menu, 'hashScroll').and.callThrough();
hashService.changed.subscribe(() => { hashService.changed.subscribe(() => {

View File

@ -19,10 +19,9 @@ export class MenuService {
activeMethodIdx: number = -1; activeMethodIdx: number = -1;
activeMethodPtr: string; activeMethodPtr: string;
constructor(private hash:Hash, private scrollService:ScrollService, schemaMgr:SpecManager) { constructor(private hash:Hash, private scrollService:ScrollService, specMgr:SpecManager) {
this.hash = hash; this.hash = hash;
this.categories = Array.from(specMgr.buildMenuTree().entries()).map(
this.categories = Array.from(schemaMgr.buildMenuTree().entries()).map(
el => ({name: el[0], description: el[1].description, methods: el[1].methods}) el => ({name: el[0], description: el[1].description, methods: el[1].methods})
); );

View File

@ -8,12 +8,12 @@ import {
import { SpecManager } from '../utils/SpecManager';; import { SpecManager } from '../utils/SpecManager';;
describe('Spec Helper', () => { describe('Spec Helper', () => {
let schemaMgr:SpecManager = new SpecManager(); let specMgr:SpecManager = new SpecManager();
let normalizer = new SchemaNormalizer(schemaMgr); let normalizer = new SchemaNormalizer(specMgr);
describe('Dereference', () => { describe('Dereference', () => {
beforeAll(done => { beforeAll(done => {
schemaMgr.load('/tests/schemas/base-component-dereference.json').then( specMgr.load('/tests/schemas/base-component-dereference.json').then(
() => done() () => done()
); );
}); });
@ -23,7 +23,7 @@ describe('Spec Helper', () => {
let pointer; let pointer;
beforeAll(() => { beforeAll(() => {
pointer = '/paths/test1/get/parameters/0'; pointer = '/paths/test1/get/parameters/0';
resolved = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should not contain $ref property', () => { it('should not contain $ref property', () => {
@ -41,7 +41,7 @@ describe('Spec Helper', () => {
it('should insert correct definition instead of reference', () => { it('should insert correct definition instead of reference', () => {
delete resolved.title; delete resolved.title;
delete resolved._pointer; delete resolved._pointer;
resolved.should.be.deepEqual(schemaMgr.schema.definitions.Simple); resolved.should.be.deepEqual(specMgr.schema.definitions.Simple);
}); });
}); });
@ -49,7 +49,7 @@ describe('Spec Helper', () => {
let resolved; let resolved;
beforeAll(() => { beforeAll(() => {
let pointer = '/paths/test2/get/parameters/0'; let pointer = '/paths/test2/get/parameters/0';
resolved = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should not touch title if exist', () => { it('should not touch title if exist', () => {
@ -68,11 +68,10 @@ describe('Spec Helper', () => {
let resolved; let resolved;
beforeAll(() => { beforeAll(() => {
let pointer = '/paths/test3/get/parameters/0'; let pointer = '/paths/test3/get/parameters/0';
resolved = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should resolve array schema', () => { it('should resolve array schema', () => {
console.log(resolved);
expect(resolved.$ref).toBeUndefined(); expect(resolved.$ref).toBeUndefined();
expect(resolved.items.$ref).toBeUndefined(); expect(resolved.items.$ref).toBeUndefined();
resolved.type.should.be.equal('array'); resolved.type.should.be.equal('array');
@ -86,7 +85,7 @@ describe('Spec Helper', () => {
let resolved; let resolved;
beforeAll(() => { beforeAll(() => {
let pointer = '/paths/test4/get/parameters/0'; let pointer = '/paths/test4/get/parameters/0';
resolved = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should resolve circular schema', () => { it('should resolve circular schema', () => {
@ -103,7 +102,7 @@ describe('Spec Helper', () => {
let resolved; let resolved;
beforeAll(() => { beforeAll(() => {
let pointer = '/paths/test5/get/parameters/0'; let pointer = '/paths/test5/get/parameters/0';
resolved = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should skip other fields', () => { it('should skip other fields', () => {
@ -122,14 +121,14 @@ describe('Spec Helper', () => {
describe('mergeAllOf', () => { describe('mergeAllOf', () => {
beforeAll((done) => { beforeAll((done) => {
schemaMgr.load('tests/schemas/base-component-joinallof.json').then(() => done()); specMgr.load('tests/schemas/base-component-joinallof.json').then(() => done());
}); });
describe('Simple allOf merge', () => { describe('Simple allOf merge', () => {
let joined; let joined;
beforeAll(() => { beforeAll(() => {
let pointer = '/definitions/SimpleAllOf'; let pointer = '/definitions/SimpleAllOf';
joined = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); joined = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should remove $allOf field', () => { it('should remove $allOf field', () => {
@ -155,7 +154,7 @@ describe('Spec Helper', () => {
let joined; let joined;
beforeAll(() => { beforeAll(() => {
let pointer = '/definitions/AllOfWithRef'; let pointer = '/definitions/AllOfWithRef';
joined = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); joined = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should remove $allOf field', () => { it('should remove $allOf field', () => {
@ -181,7 +180,7 @@ describe('Spec Helper', () => {
let joined; let joined;
beforeAll(() => { beforeAll(() => {
let pointer = '/definitions/AllOfWithOther'; let pointer = '/definitions/AllOfWithOther';
joined = normalizer.normalize(schemaMgr.byPointer(pointer), pointer); joined = normalizer.normalize(specMgr.byPointer(pointer), pointer);
}); });
it('should remove $allOf field', () => { it('should remove $allOf field', () => {
@ -212,19 +211,19 @@ describe('Spec Helper', () => {
it('should merge properties and required when defined on allOf level', () => { it('should merge properties and required when defined on allOf level', () => {
let pointer = '/definitions/PropertiesOnAllOfLevel'; let pointer = '/definitions/PropertiesOnAllOfLevel';
let joined; let joined;
(() => joined = normalizer.normalize(schemaMgr.byPointer(pointer), pointer)).should.not.throw(); (() => joined = normalizer.normalize(specMgr.byPointer(pointer), pointer)).should.not.throw();
Object.keys(joined.properties).length.should.be.equal(3); Object.keys(joined.properties).length.should.be.equal(3);
}); });
it('should throw when merging schemas with different types', () => { it('should throw when merging schemas with different types', () => {
let pointer = '/definitions/BadAllOf1'; let pointer = '/definitions/BadAllOf1';
(() => normalizer.normalize(schemaMgr.byPointer(pointer), pointer)).should.throw(); (() => normalizer.normalize(specMgr.byPointer(pointer), pointer)).should.throw();
}); });
it('should handle nested allOF', () => { it('should handle nested allOF', () => {
let pointer = '/definitions/NestedAllOf'; let pointer = '/definitions/NestedAllOf';
let joined; let joined;
(() => joined = normalizer.normalize(schemaMgr.byPointer(pointer), pointer)).should.not.throw(); (() => joined = normalizer.normalize(specMgr.byPointer(pointer), pointer)).should.not.throw();
Object.keys(joined.properties).length.should.be.equal(4); Object.keys(joined.properties).length.should.be.equal(4);
Object.keys(joined.properties).should.be.deepEqual(['prop1', 'prop2', 'prop3', 'prop4']); Object.keys(joined.properties).should.be.deepEqual(['prop1', 'prop2', 'prop3', 'prop4']);
joined.required.should.be.deepEqual(['prop1', 'prop3']); joined.required.should.be.deepEqual(['prop1', 'prop3']);

View File

@ -3,23 +3,23 @@
import { SpecManager } from '../../lib/utils/SpecManager'; import { SpecManager } from '../../lib/utils/SpecManager';
describe('Utils', () => { describe('Utils', () => {
describe('Schema manager', () => { describe('Schema manager', () => {
let schemaMgr; let specMgr;
beforeEach(() => { beforeEach(() => {
schemaMgr = new SpecManager(); specMgr = new SpecManager();
}); });
it('Should be a singleton', ()=> { it('Should be a singleton', ()=> {
(new SpecManager()).should.be.equal(schemaMgr); (new SpecManager()).should.be.equal(specMgr);
SpecManager.instance().should.be.equal(schemaMgr); SpecManager.instance().should.be.equal(specMgr);
}); });
it('load should return a promise', ()=> { it('load should return a promise', ()=> {
schemaMgr.load('/tests/schemas/extended-petstore.yml').should.be.instanceof(Promise); specMgr.load('/tests/schemas/extended-petstore.yml').should.be.instanceof(Promise);
}); });
it('load should reject promise for invalid url', (done)=> { it('load should reject promise for invalid url', (done)=> {
schemaMgr.load('/nonexisting/schema.json').then(() => { specMgr.load('/nonexisting/schema.json').then(() => {
throw new Error('Succees handler should not be called'); throw new Error('Succees handler should not be called');
}, () => { }, () => {
done(); done();
@ -27,7 +27,7 @@ describe('Utils', () => {
}); });
it('load should resolve promise for valid url', (done)=> { it('load should resolve promise for valid url', (done)=> {
schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => { specMgr.load('/tests/schemas/extended-petstore.yml').then(() => {
done(); done();
}, () => { }, () => {
throw new Error('Error handler should not be called'); throw new Error('Error handler should not be called');
@ -36,7 +36,7 @@ describe('Utils', () => {
describe('Schema manager basic functionality', ()=> { describe('Schema manager basic functionality', ()=> {
beforeAll(function (done) { beforeAll(function (done) {
schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => { specMgr.load('/tests/schemas/extended-petstore.yml').then(() => {
done(); done();
}, () => { }, () => {
throw new Error('Error handler should not be called'); throw new Error('Error handler should not be called');
@ -45,23 +45,23 @@ describe('Utils', () => {
it('should contain non-empty schema', ()=> { it('should contain non-empty schema', ()=> {
schemaMgr.schema.should.be.an.Object(); specMgr.schema.should.be.an.Object();
schemaMgr.schema.should.be.not.empty(); specMgr.schema.should.be.not.empty();
}); });
it('should correctly init api url', ()=> { it('should correctly init api url', ()=> {
schemaMgr.apiUrl.should.be.equal('http://petstore.swagger.io/v2'); specMgr.apiUrl.should.be.equal('http://petstore.swagger.io/v2');
}); });
describe('byPointer method', () => { describe('byPointer method', () => {
it('should return correct schema part', ()=> { it('should return correct schema part', ()=> {
let part = schemaMgr.byPointer('/tags/3'); let part = specMgr.byPointer('/tags/3');
part.should.be.deepEqual(schemaMgr.schema.tags[3]); part.should.be.deepEqual(specMgr.schema.tags[3]);
part.should.be.equal(schemaMgr.schema.tags[3]); part.should.be.equal(specMgr.schema.tags[3]);
}); });
it('should return null for incorrect pointer', ()=> { it('should return null for incorrect pointer', ()=> {
let part = schemaMgr.byPointer('/incorrect/pointer'); let part = specMgr.byPointer('/incorrect/pointer');
expect(part).toBeNull(); expect(part).toBeNull();
}); });
}); });
@ -69,7 +69,7 @@ describe('Utils', () => {
describe('getTagsMap method', () => { describe('getTagsMap method', () => {
beforeAll(function () { beforeAll(function () {
schemaMgr._schema = { specMgr._schema = {
tags: [ tags: [
{name: 'tag1', description: 'info1'}, {name: 'tag1', description: 'info1'},
{name: 'tag2', description: 'info2', 'x-traitTag': true} {name: 'tag2', description: 'info2', 'x-traitTag': true}
@ -78,7 +78,7 @@ describe('Utils', () => {
}); });
it('should return correct tags map', () => { it('should return correct tags map', () => {
let tagsMap = schemaMgr.getTagsMap(); let tagsMap = specMgr.getTagsMap();
let expectedResult = { let expectedResult = {
tag1: {description: 'info1', 'x-traitTag': false}, tag1: {description: 'info1', 'x-traitTag': false},
tag2: {description: 'info2', 'x-traitTag': true} tag2: {description: 'info2', 'x-traitTag': true}
@ -87,8 +87,8 @@ describe('Utils', () => {
}); });
it('should return empty array for non-specified tags', () => { it('should return empty array for non-specified tags', () => {
delete schemaMgr._schema.tags; delete specMgr._schema.tags;
let tagsMap = schemaMgr.getTagsMap(); let tagsMap = specMgr.getTagsMap();
tagsMap.should.be.empty(); tagsMap.should.be.empty();
}); });
}); });
@ -121,8 +121,8 @@ describe('Utils', () => {
let entries; let entries;
beforeAll(() => { beforeAll(() => {
schemaMgr._schema = suitSchema; specMgr._schema = suitSchema;
menuTree = schemaMgr.buildMenuTree(); menuTree = specMgr.buildMenuTree();
entries = Array.from(menuTree.entries()); entries = Array.from(menuTree.entries());
}); });
@ -162,7 +162,7 @@ describe('Utils', () => {
info.methods.should.be.an.Array(); info.methods.should.be.an.Array();
for (let methodInfo of info.methods) { for (let methodInfo of info.methods) {
methodInfo.should.have.properties(['pointer', 'summary']); methodInfo.should.have.properties(['pointer', 'summary']);
let methSchema = schemaMgr.byPointer(methodInfo.pointer); let methSchema = specMgr.byPointer(methodInfo.pointer);
expect(methSchema).not.toBeNull(); expect(methSchema).not.toBeNull();
if (methSchema.summary) { if (methSchema.summary) {
methSchema.summary.should.be.equal(methodInfo.summary); methSchema.summary.should.be.equal(methodInfo.summary);
@ -174,7 +174,7 @@ describe('Utils', () => {
describe('getMethodParams method', () => { describe('getMethodParams method', () => {
beforeAll((done) => { beforeAll((done) => {
schemaMgr.load('/tests/schemas/schema-mgr-methodparams.json').then(() => { specMgr.load('/tests/schemas/schema-mgr-methodparams.json').then(() => {
done(); done();
}, () => { }, () => {
done(new Error('Error handler should not be called')); done(new Error('Error handler should not be called'));
@ -182,26 +182,26 @@ describe('Utils', () => {
}); });
it('should propagate path parameters', () => { it('should propagate path parameters', () => {
let params = schemaMgr.getMethodParams('/paths/test1/get'); let params = specMgr.getMethodParams('/paths/test1/get');
params.length.should.be.equal(2); params.length.should.be.equal(2);
params[0].name.should.be.equal('methodParam'); params[0].name.should.be.equal('methodParam');
params[1].name.should.be.equal('pathParam'); params[1].name.should.be.equal('pathParam');
}); });
it('should inject correct pointers', () => { it('should inject correct pointers', () => {
let params = schemaMgr.getMethodParams('/paths/test1/get'); let params = specMgr.getMethodParams('/paths/test1/get');
params[0]._pointer.should.be.equal('/paths/test1/get/parameters/0'); params[0]._pointer.should.be.equal('/paths/test1/get/parameters/0');
params[1]._pointer.should.be.equal('/paths/test1/parameters/0'); params[1]._pointer.should.be.equal('/paths/test1/parameters/0');
}); });
it('should accept pointer directly to parameters', () => { it('should accept pointer directly to parameters', () => {
let params = schemaMgr.getMethodParams('/paths/test1/get/parameters', true); let params = specMgr.getMethodParams('/paths/test1/get/parameters', true);
expect(params).not.toBeNull(); expect(params).not.toBeNull();
params.length.should.be.equal(2); params.length.should.be.equal(2);
}); });
it('should resolve path params from Parameters Definitions Object', () => { it('should resolve path params from Parameters Definitions Object', () => {
let params = schemaMgr.getMethodParams('/paths/test2/get', true); let params = specMgr.getMethodParams('/paths/test2/get', true);
params.length.should.be.equal(2); params.length.should.be.equal(2);
params[0].name.should.be.equal('methodParam'); params[0].name.should.be.equal('methodParam');
params[1].name.should.be.equal('extParam'); params[1].name.should.be.equal('extParam');
@ -209,21 +209,21 @@ describe('Utils', () => {
}); });
it('should resolve method params from Parameters Definitions Object', () => { it('should resolve method params from Parameters Definitions Object', () => {
let params = schemaMgr.getMethodParams('/paths/test3/get', true); let params = specMgr.getMethodParams('/paths/test3/get', true);
params.length.should.be.equal(1); params.length.should.be.equal(1);
params[0].name.should.be.equal('extParam'); params[0].name.should.be.equal('extParam');
params[0]._pointer.should.be.equal('#/parameters/extparam'); params[0]._pointer.should.be.equal('#/parameters/extparam');
}); });
it('should throw for parameters other than array', () => { it('should throw for parameters other than array', () => {
let func = () => schemaMgr.getMethodParams('/paths/test4/get', true); let func = () => specMgr.getMethodParams('/paths/test4/get', true);
expect(func).toThrow(); expect(func).toThrow();
}); });
}); });
describe('findDerivedDefinitions method', () => { describe('findDerivedDefinitions method', () => {
beforeAll((done) => { beforeAll((done) => {
schemaMgr.load('/tests/schemas/extended-petstore.yml').then(() => { specMgr.load('/tests/schemas/extended-petstore.yml').then(() => {
done(); done();
}, () => { }, () => {
done(new Error('Error handler should not be called')); done(new Error('Error handler should not be called'));
@ -231,7 +231,7 @@ describe('Utils', () => {
}); });
it('should find derived definitions for Pet', () => { it('should find derived definitions for Pet', () => {
let deriveDefs = schemaMgr.findDerivedDefinitions('#/definitions/Pet'); let deriveDefs = specMgr.findDerivedDefinitions('#/definitions/Pet');
deriveDefs.should.be.instanceof(Array); deriveDefs.should.be.instanceof(Array);
deriveDefs.should.not.be.empty(); deriveDefs.should.not.be.empty();
deriveDefs.should.be.deepEqual([ deriveDefs.should.be.deepEqual([
@ -241,7 +241,7 @@ describe('Utils', () => {
}); });
it('should return emtpy array for definitions that dont have discriminator', () => { it('should return emtpy array for definitions that dont have discriminator', () => {
let deriveDefs = schemaMgr.findDerivedDefinitions('#/definitions/Order'); let deriveDefs = specMgr.findDerivedDefinitions('#/definitions/Order');
deriveDefs.should.be.instanceof(Array); deriveDefs.should.be.instanceof(Array);
deriveDefs.should.be.empty(); deriveDefs.should.be.empty();
}); });