A Jest custom matcher for asserting valid OpenAPI definitions. Also supports Vitest.

npm install jest-expect-openapi --save-dev
import toBeAValidOpenAPIDefinition from 'jest-expect-openapi';
expect.extend({ toBeAValidOpenAPIDefinition });
test('should be a valid OpenAPI definition', () => {
expect(oas).toBeAValidOpenAPIDefinition();
});
test('should not be a valid OpenAPI definition', () => {
expect(invalidOas).not.toBeAValidOpenAPIDefinition();
});
The usage is nearly identical in Vitest:
import toBeAValidOpenAPIDefinition from 'jest-expect-openapi';
import { expect, test } from 'vitest';
expect.extend({ toBeAValidOpenAPIDefinition });
test('should be a valid OpenAPI definition', () => {
expect(oas).toBeAValidOpenAPIDefinition();
});
test('should not be a valid OpenAPI definition', () => {
expect(invalidOas).not.toBeAValidOpenAPIDefinition();
});