From dc568aee838306d427c3e47285ad7a2222e54a0b Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 28 Feb 2022 12:30:38 +0300 Subject: [PATCH] Create channels/validate.test.js --- .../input/sites/duplicate.channels.xml | 7 +++ .../input/sites/wrong_xmltv_id.channels.xml | 6 +++ tests/commands/channels/validate.test.js | 49 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 tests/__data__/input/sites/duplicate.channels.xml create mode 100644 tests/__data__/input/sites/wrong_xmltv_id.channels.xml create mode 100644 tests/commands/channels/validate.test.js diff --git a/tests/__data__/input/sites/duplicate.channels.xml b/tests/__data__/input/sites/duplicate.channels.xml new file mode 100644 index 00000000..000cd700 --- /dev/null +++ b/tests/__data__/input/sites/duplicate.channels.xml @@ -0,0 +1,7 @@ + + + + CNN International + CNN International + + \ No newline at end of file diff --git a/tests/__data__/input/sites/wrong_xmltv_id.channels.xml b/tests/__data__/input/sites/wrong_xmltv_id.channels.xml new file mode 100644 index 00000000..638ab301 --- /dev/null +++ b/tests/__data__/input/sites/wrong_xmltv_id.channels.xml @@ -0,0 +1,6 @@ + + + + CNN International + + \ No newline at end of file diff --git a/tests/commands/channels/validate.test.js b/tests/commands/channels/validate.test.js new file mode 100644 index 00000000..0c7e6026 --- /dev/null +++ b/tests/commands/channels/validate.test.js @@ -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` + ) + } +})