UNPKG

jhipster-uml

Version:

UML support for JHipster via XMI files

69 lines (66 loc) 1.97 kB
'use strict'; const expect = require('chai').expect, fail = expect.fail, ClassData = require('../../lib/data/class_data'); describe('ClassData', () => { describe('#new', () => { describe('when not passing any argument', () => { it('does not fail', () => { new ClassData(); }); it('sets the default values instead', () => { var data = new ClassData(); expect(data.name).to.eq(''); expect(data.comment).to.eq(''); expect(data.dto).to.eq('no'); expect(data.pagination).to.eq('no'); expect(data.service).to.eq('no'); expect(data.fields).to.deep.eq([]); expect(data.tableName).to.eq(''); }); }); describe('when passing arguments', () => { var data = new ClassData({ name: 'Abc', comment: '42', dto: 'yes', pagination: 'always', service: 'never', fields: [1, 2], tableName: 'something' }); it('sets them', () => { expect(data.name).to.eq('Abc'); expect(data.comment).to.eq('42'); expect(data.dto).to.eq('yes'); expect(data.pagination).to.eq('always'); expect(data.service).to.eq('never'); expect(data.fields).to.deep.eq([1, 2]); expect(data.tableName).to.eq('something'); }); }); describe('when passing a reserved word', () => { describe('as class name', () => { it('fails', () => { try { new ClassData({ name: 'Class', tableName: 'something' }); fail(); } catch (error) { expect(error.name).to.eq('IllegalNameException'); } }); }); describe('as a table name', () => { it("doesn't fail", () => { // a warning is shown new ClassData({ name: 'MyClass', tableName: 'ANALYZE' }); }); }); }); }); });