123456789101112131415161718192021222324252627282930313233343536373839 |
- 'use strict';
- const { expect } = require('chai');
- const Support = require('../../support');
- const { DataTypes } = require('@sequelize/core');
- const sinon = require('sinon');
- const dialect = Support.getTestDialect();
- describe(Support.getTestDialectTeaser('Warning'), () => {
- // We can only test MySQL warnings when using MySQL.
- if (dialect === 'mysql') {
- describe('logging', () => {
- it('logs warnings when there are warnings', async () => {
- const logger = sinon.fake();
- const sequelize = Support.createSingleTestSequelizeInstance({
- logging: logger,
- benchmark: false,
- showWarnings: true,
- });
- const Model = sequelize.define('model', {
- name: DataTypes.STRING(1),
- });
- await sequelize.sync({ force: true });
- await sequelize.authenticate();
- await sequelize.query("SET SESSION sql_mode='';");
- await Model.create({
- name: 'very-long-long-name',
- });
- // last log is warning message
- expect(logger.args.at(-1)[0]).to.be.match(/^mysql warnings \(default\):.*/m);
- });
- });
- }
- });
|