Create tests
This commit is contained in:
45
tests/commands/create-database.test.js
Normal file
45
tests/commands/create-database.test.js
Normal file
@ -0,0 +1,45 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { execSync } = require('child_process')
|
||||
|
||||
beforeEach(() => {
|
||||
fs.rmdirSync('tests/__data__/output', { recursive: true })
|
||||
fs.mkdirSync('tests/__data__/output')
|
||||
})
|
||||
|
||||
it('can create database', () => {
|
||||
execSync(
|
||||
'DB_FILEPATH=tests/__data__/output/test.db node scripts/commands/create-database.js --input-dir=tests/__data__/input/channels --max-clusters=1',
|
||||
{ encoding: 'utf8' }
|
||||
)
|
||||
|
||||
const database = fs.readFileSync(path.resolve('tests/__data__/output/test.db'), {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
const item = database.split('\n').find(i => i.includes('ATV.ad'))
|
||||
expect(JSON.parse(item)).toMatchObject({
|
||||
name: 'ATV',
|
||||
id: 'ATV.ad',
|
||||
filepath: 'tests/__data__/input/channels/ad_example.m3u',
|
||||
src_country: { name: 'Andorra', code: 'AD', lang: 'cat' },
|
||||
tvg_country: 'AD',
|
||||
countries: [{ name: 'Andorra', code: 'AD', lang: 'cat' }],
|
||||
regions: [
|
||||
{ name: 'Europe, the Middle East and Africa', code: 'EMEA' },
|
||||
{ name: 'Europe', code: 'EUR' }
|
||||
],
|
||||
languages: [{ name: 'Catalan', code: 'cat' }],
|
||||
categories: [{ name: 'General', slug: 'general', nsfw: false }],
|
||||
tvg_url: '',
|
||||
guides: [],
|
||||
logo: 'https://i.imgur.com/kJCjeQ4.png',
|
||||
resolution: { height: 720, width: null },
|
||||
status: { label: 'Offline', code: 'offline', level: 5 },
|
||||
url: 'https://iptv-all.lanesh4d0w.repl.co/andorra/atv',
|
||||
http: { referrer: '', 'user-agent': '' },
|
||||
is_nsfw: false,
|
||||
is_broken: true,
|
||||
updated: false,
|
||||
cluster_id: 1
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user