import { getMetadataArgsStorage } from 'typeorm'; import { User } from '../../users/entities/user.entity'; describe('AddHelpTextsEnabled1785520800000', () => { it('adds a reversible enabled-by-default user preference', async () => { const migrationModule = require('./1785520800000-AddHelpTextsEnabled'); const migration = new migrationModule.AddHelpTextsEnabled1785520800000(); const queryRunner = { query: jest.fn() } as any; await migration.up(queryRunner); expect(queryRunner.query).toHaveBeenCalledWith( 'ALTER TABLE "user" ADD "helpTextsEnabled" boolean NOT NULL DEFAULT true', ); queryRunner.query.mockClear(); await migration.down(queryRunner); expect(queryRunner.query).toHaveBeenCalledWith( 'ALTER TABLE "user" DROP COLUMN "helpTextsEnabled"', ); }); it('keeps the user entity default aligned with the migration', () => { const column = getMetadataArgsStorage().columns.find( (candidate) => candidate.target === User && candidate.propertyName === 'helpTextsEnabled', ); expect(column?.options).toMatchObject({ type: Boolean, default: true }); }); });