UNPKG

@joethefkingfrypan/sequelize-replace-enum-postgres

Version:

This package provides the methods needed to replace a PostgreSQL ENUM in Sequelize migrations.

49 lines (42 loc) 1.47 kB
import { removeWhiteSpace } from './utils/testUtils'; import { getQueryToCreateEnum, getQueryToDropEnum, getQueryToRemoveDefaultFromColumn, getQueryToRenameEnum, getQueryToSetEnumType, getQueryToSetColumnDefault } from '../src/index'; describe('queries:', () => { it('getQueryToCreateEnum()', () => { expect(getQueryToCreateEnum('enum1', ['A', 'B'])) .to.equal(`CREATE TYPE "enum1" AS ENUM ('A', 'B')`); }); it('getQueryToDropEnum()', () => { expect(getQueryToDropEnum('enum1')).to.equal(`DROP TYPE "enum1"`); }); it('getQueryToRemoveDefaultFromColumn()', () => { expect(getQueryToRemoveDefaultFromColumn('enum1', 'column1')) .to.equal(`ALTER TABLE "enum1" ALTER COLUMN "column1" DROP DEFAULT`); }); it('getQueryToRenameEnum()', () => { expect(getQueryToRenameEnum('enum1', 'enumNew1')) .to.equal(`ALTER TYPE "enum1" RENAME TO "enumNew1"`); }); it('getQueryToSetEnumType()', () => { expect( removeWhiteSpace(getQueryToSetEnumType('table1', 'column1', 'enum1')) ).to.equal( ` ALTER TABLE "table1" ALTER COLUMN "column1" TYPE "enum1"` + ` USING ("column1"::text::"enum1") ` ); }); it('getQueryToSetColumnDefault()', () => { expect(removeWhiteSpace( getQueryToSetColumnDefault('table1', 'column1', 'defaultVal1', 'STRING') )).to.equal( ` ALTER TABLE "table1" ALTER COLUMN "column1"` + ` SET DEFAULT 'defaultVal1'::"STRING" ` ); }); });