mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Create channels/validate.test.js
This commit is contained in:
parent
1df9826c2c
commit
dc568aee83
3 changed files with 62 additions and 0 deletions
7
tests/__data__/input/sites/duplicate.channels.xml
Normal file
7
tests/__data__/input/sites/duplicate.channels.xml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="duplicate.com">
|
||||||
|
<channels>
|
||||||
|
<channel lang="en" xmltv_id="CNNInternationalEurope.us" site_id="140">CNN International</channel>
|
||||||
|
<channel lang="en" xmltv_id="CNNInternationalEurope.us" site_id="140">CNN International</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
6
tests/__data__/input/sites/wrong_xmltv_id.channels.xml
Normal file
6
tests/__data__/input/sites/wrong_xmltv_id.channels.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="wrong_xmltv_id.com">
|
||||||
|
<channels>
|
||||||
|
<channel lang="en" xmltv_id="CNNInternational" site_id="140">CNN International</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
49
tests/commands/channels/validate.test.js
Normal file
49
tests/commands/channels/validate.test.js
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
const { execSync } = require('child_process')
|
||||||
|
|
||||||
|
it('will show a message if the file contains a duplicate', () => {
|
||||||
|
try {
|
||||||
|
const stdout = execSync(
|
||||||
|
'npm run channels:validate -- tests/__data__/input/sites/duplicate.channels.xml',
|
||||||
|
{
|
||||||
|
encoding: 'utf8'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
console.log(stdout)
|
||||||
|
process.exit(1)
|
||||||
|
} catch (err) {
|
||||||
|
expect(err.status).toBe(1)
|
||||||
|
expect(err.stdout).toBe(
|
||||||
|
`\n> channels:validate\n> node scripts/commands/channels/validate.js "tests/__data__/input/sites/duplicate.channels.xml"\n\ntests/__data__/input/sites/duplicate.channels.xml
|
||||||
|
┌─────────┬─────────────┬──────┬─────────────────────────────┬─────────┬─────────────────────┐
|
||||||
|
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
||||||
|
├─────────┼─────────────┼──────┼─────────────────────────────┼─────────┼─────────────────────┤
|
||||||
|
│ 0 │ 'duplicate' │ 'en' │ 'CNNInternationalEurope.us' │ '140' │ 'CNN International' │
|
||||||
|
└─────────┴─────────────┴──────┴─────────────────────────────┴─────────┴─────────────────────┘
|
||||||
|
\n1 error(s) in 1 file(s)\n`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
it('will show a message if the file contains a channel with wrong xmltv_id', () => {
|
||||||
|
try {
|
||||||
|
const stdout = execSync(
|
||||||
|
'npm run channels:validate -- tests/__data__/input/sites/wrong_xmltv_id.channels.xml',
|
||||||
|
{
|
||||||
|
encoding: 'utf8'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
console.log(stdout)
|
||||||
|
process.exit(1)
|
||||||
|
} catch (err) {
|
||||||
|
expect(err.status).toBe(1)
|
||||||
|
expect(err.stdout).toBe(
|
||||||
|
`\n> channels:validate\n> node scripts/commands/channels/validate.js "tests/__data__/input/sites/wrong_xmltv_id.channels.xml"\n\ntests/__data__/input/sites/wrong_xmltv_id.channels.xml
|
||||||
|
┌─────────┬──────────────────┬──────┬────────────────────┬─────────┬─────────────────────┐
|
||||||
|
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
||||||
|
├─────────┼──────────────────┼──────┼────────────────────┼─────────┼─────────────────────┤
|
||||||
|
│ 0 │ 'wrong_xmltv_id' │ 'en' │ 'CNNInternational' │ '140' │ 'CNN International' │
|
||||||
|
└─────────┴──────────────────┴──────┴────────────────────┴─────────┴─────────────────────┘
|
||||||
|
\n1 error(s) in 1 file(s)\n`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
Loading…
Add table
Add a link
Reference in a new issue