transformations.initialize.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. var assert = require('assert');
  2. var Transformer = require('../../../../lib/waterline/utils/system/transformer-builder');
  3. describe('Collection Transformations ::', function() {
  4. describe('Initialize ::', function() {
  5. describe('with string columnName', 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 set a username transformation', function() {
  17. assert(transformer._transformations.username === 'login');
  18. });
  19. });
  20. describe('with function columnName', function() {
  21. var attributes;
  22. before(function() {
  23. attributes = {
  24. name: 'string',
  25. username: {
  26. columnName: function() {}
  27. }
  28. };
  29. });
  30. it('should NOT set a username transformation', function() {
  31. var msg = (function() {
  32. try {
  33. new Transformer(attributes, {});
  34. } catch(e) {
  35. return e.message;
  36. }
  37. return '';
  38. })();
  39. assert.strictEqual('Consistency violation: `columnName` must be a string. But for this attribute (`username`) it is not!', msg);
  40. });
  41. });
  42. });
  43. });