miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
49 lines • 2.77 kB
JavaScript
"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