11import { deserializeSrn , serializeSrn } from '../srn' ;
22
33describe ( 'deserializeSrn' , ( ) => {
4- it ( 'should work deserialize org srns ' , ( ) => {
4+ it ( 'should work deserialize org srn ' , ( ) => {
55 expect ( deserializeSrn ( 'sl/org' ) ) . toEqual ( {
66 shortcode : 'sl' ,
77 orgSlug : 'org' ,
88 } ) ;
99 } ) ;
1010
11- it ( 'should work deserialize project srns ' , ( ) => {
11+ it ( 'should work deserialize project srn ' , ( ) => {
1212 expect ( deserializeSrn ( 'sl/org/project' ) ) . toEqual ( {
1313 shortcode : 'sl' ,
1414 orgSlug : 'org' ,
1515 projectSlug : 'project' ,
1616 } ) ;
1717 } ) ;
1818
19- it ( 'should work deserialize node srns ' , ( ) => {
19+ it ( 'should work deserialize node srn ' , ( ) => {
2020 expect ( deserializeSrn ( 'sl/org/project/reference/todos/openapi.yml' ) ) . toEqual ( {
2121 shortcode : 'sl' ,
2222 orgSlug : 'org' ,
@@ -26,6 +26,39 @@ describe('deserializeSrn', () => {
2626 ext : '.yml' ,
2727 } ) ;
2828 } ) ;
29+
30+ it ( 'should work deserialize node srn two dots in file' , ( ) => {
31+ expect ( deserializeSrn ( 'sl/org/project/reference/todos/openapi.v1.yml' ) ) . toEqual ( {
32+ shortcode : 'sl' ,
33+ orgSlug : 'org' ,
34+ projectSlug : 'project' ,
35+ uri : '/reference/todos/openapi.v1.yml' ,
36+ file : 'openapi.v1.yml' ,
37+ ext : '.yml' ,
38+ } ) ;
39+ } ) ;
40+
41+ it ( 'should work deserialize node srn with extended uri parts' , ( ) => {
42+ expect ( deserializeSrn ( 'sl/org/project/reference/todos/openapi.yml/components/schemas/pet' ) ) . toEqual ( {
43+ shortcode : 'sl' ,
44+ orgSlug : 'org' ,
45+ projectSlug : 'project' ,
46+ uri : '/reference/todos/openapi.yml/components/schemas/pet' ,
47+ file : 'openapi.yml' ,
48+ ext : '.yml' ,
49+ } ) ;
50+ } ) ;
51+
52+ it ( 'should work deserialize node srn with dot in uri path' , ( ) => {
53+ expect ( deserializeSrn ( 'sl/org/project/reference/stoplight/openapi.v1.yaml/paths/~1nodes.get/get' ) ) . toEqual ( {
54+ shortcode : 'sl' ,
55+ orgSlug : 'org' ,
56+ projectSlug : 'project' ,
57+ uri : '/reference/stoplight/openapi.v1.yaml/paths/~1nodes.get/get' ,
58+ file : 'openapi.v1.yaml' ,
59+ ext : '.yaml' ,
60+ } ) ;
61+ } ) ;
2962} ) ;
3063
3164describe ( 'serializeSrn' , ( ) => {
0 commit comments