waterline
Version:
An ORM for Node.js and the Sails framework
57 lines (46 loc) • 1.52 kB
JavaScript
var assert = require('assert');
var Transformer = require('../../../../lib/waterline/utils/system/transformer-builder');
describe('Collection Transformations ::', function() {
describe('Unserialize ::', function() {
describe('with normal key/value pairs', function() {
var transformer;
before(function() {
var attributes = {
name: 'string',
username: {
columnName: 'login'
}
};
transformer = new Transformer(attributes, {});
});
it('should change login key to username', function() {
var values = transformer.unserialize({ login: 'foo' });
assert(values.username);
assert.equal(values.username, 'foo');
});
});
describe('with columnNames that conflict with other attribute names', function() {
var transformer;
before(function() {
var attributes = {
identity: {
type: 'string',
columnName: 'aid',
},
ownerId: {
type: 'string',
columnName: 'identity',
}
};
transformer = new Transformer(attributes, {});
});
it('should change unserialize both attributes correctly', function() {
var values = transformer.unserialize({ aid: 'foo', identity: 'bar' });
assert(values.identity);
assert.equal(values.identity, 'foo');
assert(values.ownerId);
assert.equal(values.ownerId, 'bar');
});
});
});
});