mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			156 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			156 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
 | 
						|
    })
 | 
						|
  })
 | 
						|
})
 |