query.destroy.transform.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var assert = require('assert');
  2. var Waterline = require('../../../lib/waterline');
  3. describe('Collection Query ::', function() {
  4. describe('.destroy()', function() {
  5. describe('with transformed values', function() {
  6. var Model;
  7. before(function() {
  8. // Extend for testing purposes
  9. Model = Waterline.Model.extend({
  10. identity: 'user',
  11. datastore: 'foo',
  12. primaryKey: 'id',
  13. attributes: {
  14. id: {
  15. type: 'number'
  16. },
  17. name: {
  18. type: 'string',
  19. columnName: 'login'
  20. }
  21. }
  22. });
  23. });
  24. it('should transform values before sending to adapter', function(done) {
  25. var waterline = new Waterline();
  26. waterline.registerModel(Model);
  27. // Fixture Adapter Def
  28. var adapterDef = {
  29. destroy: function(con, query, cb) {
  30. assert(query.criteria.where.login);
  31. return cb();
  32. }
  33. };
  34. var connections = {
  35. 'foo': {
  36. adapter: 'foobar'
  37. }
  38. };
  39. waterline.initialize({ adapters: { foobar: adapterDef }, datastores: connections }, function(err, orm) {
  40. if (err) {
  41. return done(err);
  42. }
  43. orm.collections.user.destroy({ name: 'foo' }, done);
  44. });
  45. });
  46. });
  47. });
  48. });