@snippetify/book-reader
Version:
Book reader utilities
69 lines (59 loc) • 2.16 kB
JavaScript
require('./utils/mock').initJsDOM()
const { expect, assert } = require('chai')
const Page = require('../src/models/Page')
const PageBuilder = require('../src/PageBuilder')
const { page, template, generateReference } = require('./utils/mock')
describe('PageBuilder', () => {
let pageBuilder
beforeEach(() => {
pageBuilder = PageBuilder.getInstance()
})
describe('#getInstance', () => {
it('doit retourner une instance de PageBuilder', () => {
assert.isTrue(PageBuilder.getInstance() instanceof PageBuilder)
})
})
describe('#setConfig', () => {
it('contient la configuration', () => {
const config = { reference: { template } }
pageBuilder.setConfig(config)
expect(config).to.eql(pageBuilder.config)
})
})
describe('#setPage', () => {
it('contient la page', () => {
const value = new Page({ abbr: '2tr', no: 4, content: '' })
pageBuilder.setPage(value)
expect(value).to.eql(pageBuilder.page)
})
})
describe('#reset', () => {
it('doit reinitialiser le builder', () => {
const value = new Page({ abbr: '2tr', no: 4, content: '' })
pageBuilder.setPage(value).reset()
expect(pageBuilder.page).to.eql(new Page({}))
})
})
describe('#addReferences', () => {
it('contient les références', () => {
pageBuilder.referenceBuilder.config.template = template
pageBuilder.setPage(page)
pageBuilder.addReferences()
assert.isTrue(pageBuilder.page.content.html().includes($(generateReference(1)).html()))
})
it('ne contient pas les références', () => {
pageBuilder.referenceBuilder.config.template = '<span>abbr page.no</span>'
pageBuilder.setPage(page)
pageBuilder.addReferences()
assert.isFalse(pageBuilder.page.content.html().includes(generateReference(100)))
})
})
describe('#build', () => {
it('contient tous les éléments du build', () => {
pageBuilder.referenceBuilder.config.template = template
pageBuilder.setPage(page)
const value = pageBuilder.build()
assert.isTrue(value.html().includes($(generateReference(1)).html()))
})
})
})