validator-js.test.ts 839 B

12345678910111213141516171819202122232425262728
  1. import { DataTypes, Model, Sequelize } from '@sequelize/core';
  2. import { Attribute } from '@sequelize/core/decorators-legacy';
  3. import { SqliteDialect } from '@sequelize/sqlite3';
  4. import { IsLowercase } from '@sequelize/validator.js';
  5. import chai, { expect } from 'chai';
  6. import chaiAsPromised from 'chai-as-promised';
  7. chai.use(chaiAsPromised);
  8. describe('@IsLowercase legacy decorator', () => {
  9. it('validates that the attribute is lowercase', async () => {
  10. class User extends Model {
  11. @Attribute(DataTypes.STRING)
  12. @IsLowercase
  13. declare name: string;
  14. }
  15. new Sequelize({
  16. dialect: SqliteDialect,
  17. storage: ':memory:',
  18. models: [User],
  19. });
  20. const user = User.build({ name: 'ABC' });
  21. await expect(user.validate()).to.be.rejectedWith('Validation isLowercase on name failed');
  22. });
  23. });