mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-07 09:51:37 +00:00
48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
const { expect } = require('chai')
|
|
const { Sequelize } = require('sequelize')
|
|
|
|
const Database = require('../../../server/Database')
|
|
|
|
describe('LibraryItem placeholder serialization', () => {
|
|
beforeEach(async () => {
|
|
Database.sequelize = new Sequelize({ dialect: 'sqlite', storage: ':memory:', logging: false })
|
|
Database.sequelize.uppercaseFirst = (str) => (str ? `${str[0].toUpperCase()}${str.substr(1)}` : '')
|
|
global.ServerSettings = { sortingPrefixes: [] }
|
|
await Database.buildModels()
|
|
})
|
|
|
|
afterEach(async () => {
|
|
await Database.sequelize.sync({ force: true })
|
|
})
|
|
|
|
it('includes isPlaceholder in minified and expanded JSON', async () => {
|
|
const library = await Database.libraryModel.create({ name: 'Test Library', mediaType: 'book' })
|
|
const libraryFolder = await Database.libraryFolderModel.create({ path: '/test', libraryId: library.id })
|
|
|
|
const book = await Database.bookModel.create({
|
|
title: 'Placeholder Book',
|
|
audioFiles: [],
|
|
tags: [],
|
|
narrators: [],
|
|
genres: [],
|
|
chapters: []
|
|
})
|
|
|
|
const libraryItem = await Database.libraryItemModel.create({
|
|
libraryFiles: [],
|
|
mediaId: book.id,
|
|
mediaType: 'book',
|
|
libraryId: library.id,
|
|
libraryFolderId: libraryFolder.id,
|
|
isPlaceholder: true
|
|
})
|
|
|
|
const expanded = await Database.libraryItemModel.getExpandedById(libraryItem.id)
|
|
|
|
const minifiedJson = expanded.toOldJSONMinified()
|
|
const expandedJson = expanded.toOldJSONExpanded()
|
|
|
|
expect(minifiedJson).to.have.property('isPlaceholder', true)
|
|
expect(expandedJson).to.have.property('isPlaceholder', true)
|
|
})
|
|
})
|