transformations.unserialize.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. var assert = require('assert');
  2. var Transformer = require('../../../../lib/waterline/utils/system/transformer-builder');
  3. describe('Collection Transformations ::', function() {
  4. describe('Unserialize ::', function() {
  5. describe('with normal key/value pairs', function() {
  6. var transformer;
  7. before(function() {
  8. var attributes = {
  9. name: 'string',
  10. username: {
  11. columnName: 'login'
  12. }
  13. };
  14. transformer = new Transformer(attributes, {});
  15. });
  16. it('should change login key to username', function() {
  17. var values = transformer.unserialize({ login: 'foo' });
  18. assert(values.username);
  19. assert.equal(values.username, 'foo');
  20. });
  21. });
  22. describe('with columnNames that conflict with other attribute names', function() {
  23. var transformer;
  24. before(function() {
  25. var attributes = {
  26. identity: {
  27. type: 'string',
  28. columnName: 'aid',
  29. },
  30. ownerId: {
  31. type: 'string',
  32. columnName: 'identity',
  33. }
  34. };
  35. transformer = new Transformer(attributes, {});
  36. });
  37. it('should change unserialize both attributes correctly', function() {
  38. var values = transformer.unserialize({ aid: 'foo', identity: 'bar' });
  39. assert(values.identity);
  40. assert.equal(values.identity, 'foo');
  41. assert(values.ownerId);
  42. assert.equal(values.ownerId, 'bar');
  43. });
  44. });
  45. });
  46. });