Jest тестирование Sequelize INCLUDE связной модели
Что-то измучал меня тест в связке с БД.
Есть два определения моделей для sequelize. Одна модель связана с другой.
let car = sequelize.define('cars', {
id: {
type: DataTypes.BIGINT,
allowNull: false,
autoIncrement: true,
primaryKey: true
},
driver_id: {
type: DataTypes.BIGINT,
allowNull: true
},
});
let driver = sequelize.define('drivers', {
id: {
type: DataTypes.BIGINT,
allowNull: false,
autoIncrement: true,
primaryKey: true
}
});
car.belongsTo(driver, { foreignKey: 'driver_id', targetKey: 'id' });
Определяем в тесте модели.
const { driver, car } = require('../../models');
const SequelizeMock = require('sequelize-mock');
driver.build({
id: 1
});
car.build({
id: 1,
driver: 1
});
Эти две модели реально билдятся (т.е. мокаются), однако, include их не связывает.
Проверяем функцию:
const { driver, car } = require('../../models');
const getDC = async () => {
const result = await car.find({
where: { driver_id: { $ne: null } },
include: [
{
model: driver,
as: 'driver',
}
]
});
};
Возвращается только car.
Памагити !!! ))