123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import { VideoMetadata, MediaType } from '../src'
- import { assert, expect } from 'chai'
- import { isSet, encodeDecode, metaToObject } from '../src/utils'
- import Long from 'long'
- describe('Video Metadata', () => {
- it('Message', () => {
- const video = {
- title: 'Video Title',
- description: 'Video Description',
- duration: 100,
- mediaPixelHeight: 1,
- mediaPixelWidth: 2,
- mediaType: {},
- language: 'en',
- license: {},
- publishedBeforeJoystream: {},
- hasMarketing: true,
- isPublic: true,
- isExplicit: false,
- video: 0,
- thumbnailPhoto: 1,
- category: Long.fromNumber(101, true),
- }
- const videoMessage = new VideoMetadata(video)
- assert.deepEqual(metaToObject(VideoMetadata, videoMessage), { ...video, category: '101' })
- assert.deepEqual(encodeDecode(VideoMetadata, video), { ...video, category: '101' })
- })
- it('Message: PublishedBeforeJoystream', () => {
- const meta = new VideoMetadata()
- expect(isSet(metaToObject(VideoMetadata, meta).publishedBeforeJoystream)).equals(
- false,
- 'PublishedBeforeJoystream field should NOT be set'
- )
- const published = {
- isPublished: true,
- date: '1950-12-24',
- }
- meta.publishedBeforeJoystream = published
- // Field should now be set
- expect(isSet(metaToObject(VideoMetadata, meta).publishedBeforeJoystream)).equals(
- true,
- 'PublishedBeforeJoystream field should be set'
- )
- assert.deepEqual(metaToObject(VideoMetadata, meta).publishedBeforeJoystream, published)
- assert.deepEqual(encodeDecode(VideoMetadata, meta).publishedBeforeJoystream, meta.publishedBeforeJoystream)
- })
- it('Message: License', () => {
- const license = {
- code: 1000,
- attribution: 'Attribution Text',
- customText: 'Custom License Details',
- }
- const meta = new VideoMetadata({ license })
- assert.deepEqual(metaToObject(VideoMetadata, meta).license, license)
- assert.deepEqual(encodeDecode(VideoMetadata, meta).license, license)
- // Empty object check
- meta.license = {}
- assert.deepEqual(metaToObject(VideoMetadata, meta).license, {})
- assert.deepEqual(encodeDecode(VideoMetadata, meta).license, {})
- // Unset check
- meta.license = undefined
- assert.deepEqual(metaToObject(VideoMetadata, meta).license, undefined)
- assert.deepEqual(encodeDecode(VideoMetadata, meta).license, undefined)
- })
- it('Message: MediaType', () => {
- const mediaType = {
- codecName: 'mpeg4',
- container: 'avi',
- mimeMediaType: 'videp/mp4',
- }
- const mediaTypeMessage = new MediaType(mediaType)
- assert.deepEqual(metaToObject(MediaType, mediaTypeMessage), mediaType)
- assert.deepEqual(encodeDecode(MediaType, mediaType), mediaType)
- })
- })
|