1- import { asyncApi2 } from '../asyncapi' ;
1+ import { aas2 , aas2_0 , aas2_1 , aas2_2 , aas2_3 } from '../asyncapi' ;
22
3- describe ( 'AsyncApi format' , ( ) => {
4- describe ( 'AsyncApi 2.{minor}.{patch}' , ( ) => {
5- it . each ( [ [ '2.0.17' ] , [ '2.9.0' ] , [ '2.9.3' ] ] ) ( 'recognizes %s version correctly' , ( version : string ) => {
6- expect ( asyncApi2 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
7- } ) ;
3+ describe ( 'AsyncAPI format' , ( ) => {
4+ describe ( 'AsyncAPI 2.x' , ( ) => {
5+ it . each ( [ '2.0.0' , '2.1.0' , '2.2.0' , '2.3.0' , '2.0.17' , '2.1.37' , '2.9.0' , '2.9.3' ] ) (
6+ 'recognizes %s version correctly' ,
7+ version => {
8+ expect ( aas2 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
9+ } ,
10+ ) ;
811
912 const testCases = [
1013 { asyncapi : '3.0' } ,
@@ -15,6 +18,7 @@ describe('AsyncApi format', () => {
1518 { asyncapi : '2.0.01' } ,
1619 { asyncapi : '1.0' } ,
1720 { asyncapi : 2 } ,
21+ { asyncapi : null } ,
1822 { openapi : '4.0' } ,
1923 { openapi : '2.0' } ,
2024 { openapi : null } ,
@@ -25,7 +29,50 @@ describe('AsyncApi format', () => {
2529 ] ;
2630
2731 it . each ( testCases ) ( 'does not recognize invalid document %o' , document => {
28- expect ( asyncApi2 ( document , null ) ) . toBe ( false ) ;
32+ expect ( aas2 ( document , null ) ) . toBe ( false ) ;
33+ } ) ;
34+ } ) ;
35+
36+ describe ( 'AsyncAPI 2.0' , ( ) => {
37+ it . each ( [ '2.0.0' , '2.0.3' ] ) ( 'recognizes %s version correctly' , version => {
38+ expect ( aas2_0 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
39+ } ) ;
40+
41+ it . each ( [ '2' , '2.0' , '2.1.0' , '2.1.3' ] ) ( 'does not recognize %s version' , version => {
42+ expect ( aas2_0 ( { asyncapi : version } , null ) ) . toBe ( false ) ;
43+ } ) ;
44+ } ) ;
45+
46+ describe ( 'AsyncAPI 2.1' , ( ) => {
47+ it . each ( [ '2.1.0' , '2.1.37' ] ) ( 'recognizes %s version correctly' , version => {
48+ expect ( aas2_1 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
49+ } ) ;
50+
51+ it . each ( [ '2' , '2.1' , '2.0.0' , '2.2.0' , '2.2.3' ] ) ( 'does not recognize %s version' , version => {
52+ expect ( aas2_1 ( { asyncapi : version } , null ) ) . toBe ( false ) ;
53+ } ) ;
54+ } ) ;
55+
56+ describe ( 'AsyncAPI 2.2' , ( ) => {
57+ it . each ( [ '2.2.0' , '2.2.3' ] ) ( 'recognizes %s version correctly' , version => {
58+ expect ( aas2_2 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
59+ } ) ;
60+
61+ it . each ( [ '2' , '2.2' , '2.0.0' , '2.1.0' , '2.1.37' , '2.3.0' , '2.3.3' ] ) ( 'does not recognize %s version' , version => {
62+ expect ( aas2_2 ( { asyncapi : version } , null ) ) . toBe ( false ) ;
2963 } ) ;
3064 } ) ;
65+
66+ describe ( 'AsyncAPI 2.3' , ( ) => {
67+ it . each ( [ '2.3.0' , '2.3.3' ] ) ( 'recognizes %s version correctly' , version => {
68+ expect ( aas2_3 ( { asyncapi : version } , null ) ) . toBe ( true ) ;
69+ } ) ;
70+
71+ it . each ( [ '2' , '2.3' , '2.0.0' , '2.1.0' , '2.1.37' , '2.2.0' , '2.4.0' , '2.4.3' ] ) (
72+ 'does not recognize %s version' ,
73+ version => {
74+ expect ( aas2_3 ( { asyncapi : version } , null ) ) . toBe ( false ) ;
75+ } ,
76+ ) ;
77+ } ) ;
3178} ) ;
0 commit comments