155 lines
6.3 KiB
TypeScript
155 lines
6.3 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
import 'mocha'
|
|
import { expect } from 'chai'
|
|
import { VideoConstantManagerFactory } from '@server/lib/plugins/video-constant-manager-factory'
|
|
import {
|
|
VIDEO_CATEGORIES,
|
|
VIDEO_LANGUAGES,
|
|
VIDEO_LICENCES,
|
|
VIDEO_PLAYLIST_PRIVACIES,
|
|
VIDEO_PRIVACIES
|
|
} from '@server/initializers/constants'
|
|
import {
|
|
VideoPlaylistPrivacy,
|
|
VideoPrivacy
|
|
} from '@shared/models'
|
|
|
|
describe('VideoConstantManagerFactory', function () {
|
|
const factory = new VideoConstantManagerFactory('peertube-plugin-constants')
|
|
|
|
afterEach(() => {
|
|
factory.resetVideoConstants('peertube-plugin-constants')
|
|
})
|
|
|
|
describe('VideoCategoryManager', () => {
|
|
const videoCategoryManager = factory.createVideoConstantManager<number>('category')
|
|
|
|
it('Should be able to list all video category constants', () => {
|
|
const constants = videoCategoryManager.getConstants()
|
|
expect(constants).to.deep.equal(VIDEO_CATEGORIES)
|
|
})
|
|
|
|
it('Should be able to delete a video category constant', () => {
|
|
const successfullyDeleted = videoCategoryManager.deleteConstant(1)
|
|
expect(successfullyDeleted).to.be.true
|
|
expect(videoCategoryManager.getConstantValue(1)).to.be.undefined
|
|
})
|
|
|
|
it('Should be able to add a video category constant', () => {
|
|
const successfullyAdded = videoCategoryManager.addConstant(42, 'The meaning of life')
|
|
expect(successfullyAdded).to.be.true
|
|
expect(videoCategoryManager.getConstantValue(42)).to.equal('The meaning of life')
|
|
})
|
|
|
|
it('Should be able to reset video category constants', () => {
|
|
videoCategoryManager.deleteConstant(1)
|
|
videoCategoryManager.resetConstants()
|
|
expect(videoCategoryManager.getConstantValue(1)).not.be.undefined
|
|
})
|
|
})
|
|
|
|
describe('VideoLicenceManager', () => {
|
|
const videoLicenceManager = factory.createVideoConstantManager<number>('licence')
|
|
it('Should be able to list all video licence constants', () => {
|
|
const constants = videoLicenceManager.getConstants()
|
|
expect(constants).to.deep.equal(VIDEO_LICENCES)
|
|
})
|
|
|
|
it('Should be able to delete a video licence constant', () => {
|
|
const successfullyDeleted = videoLicenceManager.deleteConstant(1)
|
|
expect(successfullyDeleted).to.be.true
|
|
expect(videoLicenceManager.getConstantValue(1)).to.be.undefined
|
|
})
|
|
|
|
it('Should be able to add a video licence constant', () => {
|
|
const successfullyAdded = videoLicenceManager.addConstant(42, 'European Union Public Licence')
|
|
expect(successfullyAdded).to.be.true
|
|
expect(videoLicenceManager.getConstantValue(42)).to.equal('European Union Public Licence')
|
|
})
|
|
|
|
it('Should be able to reset video licence constants', () => {
|
|
videoLicenceManager.deleteConstant(1)
|
|
videoLicenceManager.resetConstants()
|
|
expect(videoLicenceManager.getConstantValue(1)).not.be.undefined
|
|
})
|
|
})
|
|
|
|
describe('PlaylistPrivacyManager', () => {
|
|
const playlistPrivacyManager = factory.createVideoConstantManager<VideoPlaylistPrivacy>('playlistPrivacy')
|
|
it('Should be able to list all video playlist privacy constants', () => {
|
|
const constants = playlistPrivacyManager.getConstants()
|
|
expect(constants).to.deep.equal(VIDEO_PLAYLIST_PRIVACIES)
|
|
})
|
|
|
|
it('Should be able to delete a video playlist privacy constant', () => {
|
|
const successfullyDeleted = playlistPrivacyManager.deleteConstant(1)
|
|
expect(successfullyDeleted).to.be.true
|
|
expect(playlistPrivacyManager.getConstantValue(1)).to.be.undefined
|
|
})
|
|
|
|
it('Should be able to add a video playlist privacy constant', () => {
|
|
const successfullyAdded = playlistPrivacyManager.addConstant(42, 'Friends only')
|
|
expect(successfullyAdded).to.be.true
|
|
expect(playlistPrivacyManager.getConstantValue(42)).to.equal('Friends only')
|
|
})
|
|
|
|
it('Should be able to reset video playlist privacy constants', () => {
|
|
playlistPrivacyManager.deleteConstant(1)
|
|
playlistPrivacyManager.resetConstants()
|
|
expect(playlistPrivacyManager.getConstantValue(1)).not.be.undefined
|
|
})
|
|
})
|
|
|
|
describe('VideoPrivacyManager', () => {
|
|
const videoPrivacyManager = factory.createVideoConstantManager<VideoPrivacy>('privacy')
|
|
it('Should be able to list all video privacy constants', () => {
|
|
const constants = videoPrivacyManager.getConstants()
|
|
expect(constants).to.deep.equal(VIDEO_PRIVACIES)
|
|
})
|
|
|
|
it('Should be able to delete a video privacy constant', () => {
|
|
const successfullyDeleted = videoPrivacyManager.deleteConstant(1)
|
|
expect(successfullyDeleted).to.be.true
|
|
expect(videoPrivacyManager.getConstantValue(1)).to.be.undefined
|
|
})
|
|
|
|
it('Should be able to add a video privacy constant', () => {
|
|
const successfullyAdded = videoPrivacyManager.addConstant(42, 'Friends only')
|
|
expect(successfullyAdded).to.be.true
|
|
expect(videoPrivacyManager.getConstantValue(42)).to.equal('Friends only')
|
|
})
|
|
|
|
it('Should be able to reset video privacy constants', () => {
|
|
videoPrivacyManager.deleteConstant(1)
|
|
videoPrivacyManager.resetConstants()
|
|
expect(videoPrivacyManager.getConstantValue(1)).not.be.undefined
|
|
})
|
|
})
|
|
|
|
describe('VideoLanguageManager', () => {
|
|
const videoLanguageManager = factory.createVideoConstantManager<string>('language')
|
|
it('Should be able to list all video language constants', () => {
|
|
const constants = videoLanguageManager.getConstants()
|
|
expect(constants).to.deep.equal(VIDEO_LANGUAGES)
|
|
})
|
|
|
|
it('Should be able to add a video language constant', () => {
|
|
const successfullyAdded = videoLanguageManager.addConstant('fr', 'Fr occitan')
|
|
expect(successfullyAdded).to.be.true
|
|
expect(videoLanguageManager.getConstantValue('fr')).to.equal('Fr occitan')
|
|
})
|
|
|
|
it('Should be able to delete a video language constant', () => {
|
|
videoLanguageManager.addConstant('fr', 'Fr occitan')
|
|
const successfullyDeleted = videoLanguageManager.deleteConstant('fr')
|
|
expect(successfullyDeleted).to.be.true
|
|
expect(videoLanguageManager.getConstantValue('fr')).to.be.undefined
|
|
})
|
|
|
|
it('Should be able to reset video language constants', () => {
|
|
videoLanguageManager.addConstant('fr', 'Fr occitan')
|
|
videoLanguageManager.resetConstants()
|
|
expect(videoLanguageManager.getConstantValue('fr')).to.be.undefined
|
|
})
|
|
})
|
|
})
|