previous.test.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. const chai = require('chai');
  3. const expect = chai.expect;
  4. const Support = require('../../support');
  5. const { DataTypes } = require('@sequelize/core');
  6. const current = Support.sequelize;
  7. describe(Support.getTestDialectTeaser('Instance'), () => {
  8. describe('previous', () => {
  9. it('should return correct previous value', () => {
  10. const Model = current.define('Model', {
  11. text: DataTypes.STRING,
  12. textCustom: {
  13. type: DataTypes.STRING,
  14. set(val) {
  15. this.setDataValue('textCustom', val);
  16. },
  17. get() {
  18. this.getDataValue('textCustom');
  19. },
  20. },
  21. });
  22. const instance = Model.build({ text: 'a', textCustom: 'abc' });
  23. expect(instance.previous('text')).to.be.not.ok;
  24. expect(instance.previous('textCustom')).to.be.not.ok;
  25. instance.set('text', 'b');
  26. instance.set('textCustom', 'def');
  27. expect(instance.previous('text')).to.equal('a');
  28. expect(instance.previous('textCustom')).to.equal('abc');
  29. });
  30. });
  31. });