123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { AssociationError } from '@sequelize/core';
- import { expect } from 'chai';
- import { getTestDialectTeaser, sequelize } from '../../support';
- describe(getTestDialectTeaser('belongsTo'), () => {
- it('should throw an AssociationError when two associations have the same alias', () => {
- const User = sequelize.define('User');
- const Task = sequelize.define('Task');
- User.belongsTo(Task, { as: 'task' });
- expect(() => {
- User.belongsTo(Task, { as: 'task' });
- }).to.throw(
- AssociationError,
- 'You have defined two associations with the same name "task" on the model "User". Use another alias using the "as" parameter.',
- );
- });
- it('should throw an AssociationError when two associations have the same alias (one inferred)', () => {
- const User = sequelize.define('User');
- const Task = sequelize.define('Task');
- const association = User.belongsTo(Task);
- expect(association.as).to.eq('task');
- expect(() => {
- User.belongsTo(Task, { as: 'task' });
- }).to.throw(
- AssociationError,
- 'You have defined two associations with the same name "task" on the model "User". Use another alias using the "as" parameter.',
- );
- });
- it('should throw an AssociationError when two associations have the same alias (both inferred)', () => {
- const User = sequelize.define('User');
- const Task = sequelize.define('Task');
- User.belongsTo(Task);
- expect(() => {
- User.belongsTo(Task);
- }).to.throw(
- AssociationError,
- 'You have defined two associations with the same name "task" on the model "User". Use another alias using the "as" parameter.',
- );
- });
- });
|