regressions.test.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 dialect = Support.getTestDialect();
  7. if (dialect.startsWith('postgres')) {
  8. describe('[POSTGRES Specific] Regressions', () => {
  9. it('properly fetch OIDs after sync, #8749', async function () {
  10. const User = this.sequelize.define('User', {
  11. active: DataTypes.BOOLEAN,
  12. });
  13. /**
  14. * This Model is important, sync will try to fetch OIDs after each ENUM model sync
  15. * Having ENUM in this model will force OIDs re-fetch
  16. * We are testing that OID refresh keep base type intact
  17. */
  18. const Media = this.sequelize.define('Media', {
  19. type: DataTypes.ENUM(['image', 'video', 'audio']),
  20. });
  21. User.hasMany(Media);
  22. Media.belongsTo(User);
  23. await this.sequelize.sync({ force: true });
  24. const user1 = await User.create({ active: true });
  25. expect(user1.active).to.be.true;
  26. expect(user1.get('active')).to.be.true;
  27. const user0 = await User.findOne();
  28. expect(user0.active).to.be.true;
  29. expect(user0.get('active')).to.be.true;
  30. const user = await User.findOne({ raw: true });
  31. expect(user.active).to.be.true;
  32. });
  33. });
  34. }