mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-09 19:01:41 +00:00
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
const chai = require('chai')
|
|
const sinon = require('sinon')
|
|
const { expect } = chai
|
|
|
|
const { DataTypes } = require('sequelize')
|
|
|
|
const { up, down } = require('../../../server/migrations/v2.17.3-share-add-isdownloadable')
|
|
|
|
describe('Migration v2.17.3-share-add-isDownloadable', () => {
|
|
let queryInterface
|
|
|
|
beforeEach(() => {
|
|
queryInterface = {
|
|
addColumn: sinon.stub().resolves(),
|
|
removeColumn: sinon.stub().resolves()
|
|
}
|
|
})
|
|
|
|
describe('up', () => {
|
|
it('should add the isDownloadable column to mediaItemShares table', async () => {
|
|
await up({ context: { queryInterface } })
|
|
|
|
expect(queryInterface.addColumn.calledOnce).to.be.true
|
|
expect(
|
|
queryInterface.addColumn.calledWith('mediaItemShares', 'isDownloadable', {
|
|
type: DataTypes.BOOLEAN,
|
|
defaultValue: false,
|
|
allowNull: false
|
|
})
|
|
).to.be.true
|
|
})
|
|
})
|
|
|
|
describe('down', () => {
|
|
it('should remove the isDownloadable column from mediaItemShares table', async () => {
|
|
await down({ context: { queryInterface } })
|
|
|
|
expect(queryInterface.removeColumn.calledOnce).to.be.true
|
|
expect(queryInterface.removeColumn.calledWith('mediaItemShares', 'isDownloadable')).to.be.true
|
|
})
|
|
})
|
|
})
|