You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am attempting to write some unit tests for a classes that uses my sequelize-typescript models but I am getting this error when I try to create an instance of a model:
FAIL MyClass.test.ts [ MyClass.test.ts ]
Error: Specified type of property 'myId'
cannot be automatically resolved to a sequelize data type. Please
define the data type manually
Versions
sequelize: 6.37.1
sequelize-typescript: 2.1.6
vitest 1.3.1
typescript: 5.3.3
node v20.11.0
npm 10.2.4
macOS 13.5 Ventura
Issue type
bug report
feature request
Actual behavior
npx vitest
FAIL MyClass.test.ts [ MyClass.test.ts ]
Error: Specified type of property 'myId'
cannot be automatically resolved to a sequelize data type. Please
define the data type manually
❯ getSequelizeTypeByDesignType node_modules/sequelize-typescript/dist/model/shared/model-service.js:64:11
❯ annotate node_modules/sequelize-typescript/dist/model/column/column.js:32:77
❯ Column node_modules/sequelize-typescript/dist/model/column/column.js:14:9
❯ __decorateClass MyModel.model.ts:8:24
7| myId: string;
8|
9| @Column
| ^
10| name: string;
11| }
❯ MyModel.model.ts:7:5
❯ MyClass.test.ts:2:31
Expected behavior
I should be able to create objects for unit tests.
Steps to reproduce
I created a repro repo if you want to be able to see the error happen:
git clone https://github.com/dlandtaa/sequelize-typescript-test
cd sequelize-typescript-test
npm i
npm start # should run and print out a model
npx vitest # should give you the error
Related code
If you don't want to download the repro repo, you can see the code here:
Main.ts
const { Sequelize } = require('sequelize-typescript');
import { MyClass } from './MyClass';
import { MyModel } from './MyModel.model';
const sqlize = new Sequelize('a', 'b', 'c', {
host: 'd',
dialect: 'mysql',
models: [
MyModel
]
});
const myModel = new MyModel();
const myObj = new MyClass();
myObj.doSomething(myModel);
import { MyModel } from './MyModel.model';
class MyClass {
doSomething(model: MyModel) {
console.log('here is the model you passed in:', model);
}
}
export { MyClass };
MyClass.test.ts
import { test } from 'vitest';
import { MyModel } from './MyModel.model';
import { MyClass } from './MyClass';
test('generate D2 task ids', async () => {
const model = new MyModel();
const myObject = new MyClass();
myObject.doSomething(model);
});
The text was updated successfully, but these errors were encountered:
Issue
I am attempting to write some unit tests for a classes that uses my sequelize-typescript models but I am getting this error when I try to create an instance of a model:
Versions
Issue type
Actual behavior
Expected behavior
I should be able to create objects for unit tests.
Steps to reproduce
I created a repro repo if you want to be able to see the error happen:
Related code
If you don't want to download the repro repo, you can see the code here:
Main.ts
MyModel.ts
MyClass.ts
MyClass.test.ts
The text was updated successfully, but these errors were encountered: