UNPKG

miter

Version:

A typescript web framework based on ExpressJs based loosely on SailsJs

49 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); const sinonChai = require("sinon-chai"); chai_1.use(sinonChai); const snake_case_orm_transform_service_1 = require("../snake-case-orm-transform.service"); describe('SnakeCaseOrmTransformService', () => { let instance; before(() => instance = new snake_case_orm_transform_service_1.SnakeCaseOrmTransformService()); describe('.transformModel', () => { it('should set underscored to true', () => { chai_1.expect(instance.transformModel({})).to.have.property('underscored', true); }); }); describe('.transformModelName', () => { it('should return null if the class name is falsey', () => { chai_1.expect(instance.transformModelName(null)).to.be.null; chai_1.expect(instance.transformModelName('')).to.be.null; }); it('should pluralize and join the lowercase model name with underscores', () => { chai_1.expect(instance.transformModelName('User')).to.eq('users'); chai_1.expect(instance.transformModelName('ProjectContributor')).to.eq('project_contributors'); chai_1.expect(instance.transformModelName('OneTwoThreeFour')).to.eq('one_two_three_fours'); }); }); describe('.transformColumnName', () => { it('should return null if the column name is falsey', () => { chai_1.expect(instance.transformColumnName(null)).to.be.null; chai_1.expect(instance.transformColumnName('')).to.be.null; }); it('should join the lowercase column name with underscores', () => { chai_1.expect(instance.transformColumnName('authorName')).to.eq('author_name'); chai_1.expect(instance.transformColumnName('avgRating')).to.eq('avg_rating'); chai_1.expect(instance.transformColumnName('isAvailable')).to.eq('is_available'); }); }); describe('.transformAssociationColumnName', () => { it('should return null if the column name is falsey', () => { chai_1.expect(instance.transformAssociationColumnName(null)).to.be.null; chai_1.expect(instance.transformAssociationColumnName('')).to.be.null; }); it('should join the lowercase column name with underscores and append _id', () => { chai_1.expect(instance.transformAssociationColumnName('ownerUser')).to.eq('owner_user_id'); chai_1.expect(instance.transformAssociationColumnName('projectReadme')).to.eq('project_readme_id'); chai_1.expect(instance.transformAssociationColumnName('forkedProject')).to.eq('forked_project_id'); }); }); }); //# sourceMappingURL=snake-case-orm-transform.service.spec.js.map