import { VarDataType } from '../types' import { createAttributeGlobalId, parseAttributeGlobalId } from './attribute' describe('attribute', () => { it('should parse attribute global id', () => { const cases = { 'actionId__myvar:string': { relId: 'actionId', name: 'myvar', datatype: VarDataType.string, }, actionId__myvar: { relId: 'actionId', name: 'myvar', datatype: VarDataType.any, }, 'act3id__varbtext:text': { relId: 'act3id', name: 'varbtext', datatype: VarDataType.text, }, 'myvar:string': { relId: '', name: 'myvar', datatype: VarDataType.string, }, '__myvar:string': { relId: '', name: 'myvar', datatype: VarDataType.string, }, ':string': { relId: '', name: '', datatype: VarDataType.string }, myvar: { relId: '', name: 'myvar', datatype: VarDataType.any }, } for (const [id, expected] of Object.entries(cases)) { expect(parseAttributeGlobalId(id)).toStrictEqual(expected) } }) it('should create attribute global id', () => { const cases = { 'actionId__myvar:string': { relId: 'actionId', name: 'myvar', datatype: VarDataType.string, }, '__myvar:string': { relId: '', name: 'myvar', datatype: VarDataType.string, }, '__mynextvar:string': { relId: '', name: '__my__next__var', datatype: VarDataType.string, }, } for (const [id, data] of Object.entries(cases)) { expect(createAttributeGlobalId(data)).toStrictEqual(id) } }) })