@@ -13,20 +13,20 @@ describe.only("issue#79 - csn ref resolution from defintions", () => {
1313 assert ( node . $defs ?. [ "@EndUserText.label" ] != null ) ;
1414 } ) ;
1515
16- it ( "should resolve $ref '#/$defs/@EndUserText.label'" , ( ) => {
16+ it . skip ( "should resolve $ref '#/$defs/@EndUserText.label'" , ( ) => {
1717 const node = compileSchema ( CSNSchema ) ;
1818 const childSchema = node . getNodeRef ( "#/$defs/@EndUserText.label" ) ;
1919 assert ( childSchema != null ) ;
2020 } ) ;
2121
22- it ( "should resolve $ref '#/definitions/@EndUserText.label'" , ( ) => {
22+ it . skip ( "should resolve $ref '#/definitions/@EndUserText.label'" , ( ) => {
2323 const node = compileSchema ( CSNSchema ) ;
2424 const childSchema = node . getNodeRef ( "#/definitions/@EndUserText.label" ) ;
25- // assert.equal(valid, true);
2625 console . log ( "childSchema" , childSchema ) ;
26+ assert ( childSchema != null ) ;
2727 } ) ;
2828
29- it . only ( "should validate data" , ( ) => {
29+ it ( "should validate data" , ( ) => {
3030 const node = compileSchema ( CSNSchema ) ;
3131 const { valid } = node . validate ( {
3232 csnInteropEffective : "1.0" ,
@@ -42,4 +42,26 @@ describe.only("issue#79 - csn ref resolution from defintions", () => {
4242 } ) ;
4343 assert . equal ( valid , true ) ;
4444 } ) ;
45+
46+ it ( "should invalidate data" , ( ) => {
47+ const node = compileSchema ( CSNSchema ) ;
48+ const { valid, errors } = node . validate ( {
49+ csnInteropEffective : "1.0" ,
50+ $version : "2.0" ,
51+ definitions : {
52+ BINRELID : {
53+ "@EndUserText.label" : false ,
54+ kind : "type" ,
55+ type : "cds.String" ,
56+ length : 22
57+ }
58+ }
59+ } ) ;
60+
61+ assert . equal ( valid , false ) ;
62+ assert . equal ( errors [ 0 ] . code , "type-error" ) ;
63+ assert . equal ( errors [ 0 ] . data . pointer , "#/definitions/BINRELID/@EndUserText.label" ) ;
64+ // @todo : error is logged twice
65+ // assert.equal(errors.length, 1);
66+ } ) ;
4567} ) ;
0 commit comments