From 5920563516d93e9f82783f6fefb7a023ed990f73 Mon Sep 17 00:00:00 2001 From: MillenniumEarl Date: Sat, 3 Oct 2020 18:16:45 +0200 Subject: [PATCH] Set up CodeCov --- app/index.js | 84 +++--- coverage.lcov | 813 ++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- 3 files changed, 857 insertions(+), 43 deletions(-) create mode 100644 coverage.lcov diff --git a/app/index.js b/app/index.js index 17a6c07..3506a66 100644 --- a/app/index.js +++ b/app/index.js @@ -9,7 +9,7 @@ const urlExist = require("url-exist"); // Modules from file const shared = require("./scripts/shared.js"); const constURLs = require("./scripts/costants/urls.js"); -const constSelectors = require("./scripts/costants/css-selectors.js"); +const selectors = require("./scripts/costants/css-selectors.js"); const { isStringAValidURL } = require("./scripts/urls-helper.js"); const gameScraper = require("./scripts/game-scraper.js"); const { @@ -20,13 +20,13 @@ const GameInfo = require("./scripts/classes/game-info.js"); const LoginResult = require("./scripts/classes/login-result.js"); const UserData = require("./scripts/classes/user-data.js"); -//#region Expose classes +//#region Export classes module.exports.GameInfo = GameInfo; module.exports.LoginResult = LoginResult; module.exports.UserData = UserData; -//#endregion Expose classes +//#endregion Export classes -//#region Exposed properties +//#region Export properties /** * Shows log messages and other useful functions for module debugging. * @param {Boolean} value @@ -70,7 +70,7 @@ module.exports.setCacheDir = function (value) { // Create directory if it doesn't exist if (!fs.existsSync(shared.cacheDir)) fs.mkdirSync(shared.cacheDir); }; -//#endregion Exposed properties +//#endregion Export properties //#region Global variables var _browser = null; @@ -161,20 +161,20 @@ module.exports.loadF95BaseData = async function () { }); // Obtain engines (disc/online) - await page.waitForSelector(constSelectors.ENGINE_ID_SELECTOR); + await page.waitForSelector(selectors.ENGINE_ID_SELECTOR); shared.engines = await loadValuesFromLatestPage( page, shared.enginesCachePath, - constSelectors.ENGINE_ID_SELECTOR, + selectors.ENGINE_ID_SELECTOR, "engines" ); // Obtain statuses (disc/online) - await page.waitForSelector(constSelectors.STATUS_ID_SELECTOR); + await page.waitForSelector(selectors.STATUS_ID_SELECTOR); shared.statuses = await loadValuesFromLatestPage( page, shared.statusesCachePath, - constSelectors.STATUS_ID_SELECTOR, + selectors.STATUS_ID_SELECTOR, "statuses" ); @@ -267,21 +267,21 @@ module.exports.getUserData = async function () { await page.goto(constURLs.F95_BASE_URL); // Go to base page // Explicitly wait for the required items to load - await page.waitForSelector(constSelectors.USERNAME_ELEMENT); - await page.waitForSelector(constSelectors.AVATAR_PIC); + await page.waitForSelector(selectors.USERNAME_ELEMENT); + await page.waitForSelector(selectors.AVATAR_PIC); let threads = getUserWatchedGameThreads(browser); let username = await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector).innerText, - constSelectors.USERNAME_ELEMENT + selectors.USERNAME_ELEMENT ); let avatarSrc = await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector).getAttribute("src"), - constSelectors.AVATAR_PIC + selectors.AVATAR_PIC ); let ud = new UserData(); @@ -441,12 +441,12 @@ async function loginF95(browser, username, password) { await page.goto(constURLs.F95_LOGIN_URL); // Go to login page // Explicitly wait for the required items to load - await page.waitForSelector(constSelectors.USERNAME_INPUT); - await page.waitForSelector(constSelectors.PASSWORD_INPUT); - await page.waitForSelector(constSelectors.LOGIN_BUTTON); - await page.type(constSelectors.USERNAME_INPUT, username); // Insert username - await page.type(constSelectors.PASSWORD_INPUT, password); // Insert password - await page.click(constSelectors.LOGIN_BUTTON); // Click on the login button + await page.waitForSelector(selectors.USERNAME_INPUT); + await page.waitForSelector(selectors.PASSWORD_INPUT); + await page.waitForSelector(selectors.LOGIN_BUTTON); + await page.type(selectors.USERNAME_INPUT, username); // Insert username + await page.type(selectors.PASSWORD_INPUT, password); // Insert password + await page.click(selectors.LOGIN_BUTTON); // Click on the login button await page.waitForNavigation({ waitUntil: shared.WAIT_STATEMENT, }); // Wait for page to load @@ -458,7 +458,7 @@ async function loginF95(browser, username, password) { result.success = await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector) !== null, - constSelectors.AVATAR_INFO + selectors.AVATAR_INFO ); // Save cookies to avoid re-auth @@ -472,13 +472,13 @@ async function loginF95(browser, username, password) { await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector) !== null, - constSelectors.LOGIN_MESSAGE_ERROR + selectors.LOGIN_MESSAGE_ERROR ) ) { let errorMessage = await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector).innerText, - constSelectors.LOGIN_MESSAGE_ERROR + selectors.LOGIN_MESSAGE_ERROR ); if (errorMessage === "Incorrect password. Please try again.") { @@ -505,33 +505,33 @@ async function getUserWatchedGameThreads(browser) { await page.goto(constURLs.F95_WATCHED_THREADS); // Go to the thread page // Explicitly wait for the required items to load - await page.waitForSelector(constSelectors.WATCHED_THREAD_FILTER_POPUP_BUTTON); + await page.waitForSelector(selectors.WATCHED_THREAD_FILTER_POPUP_BUTTON); // Show the popup - await page.click(constSelectors.WATCHED_THREAD_FILTER_POPUP_BUTTON); - await page.waitForSelector(constSelectors.UNREAD_THREAD_CHECKBOX); - await page.waitForSelector(constSelectors.ONLY_GAMES_THREAD_OPTION); - await page.waitForSelector(constSelectors.FILTER_THREADS_BUTTON); + await page.click(selectors.WATCHED_THREAD_FILTER_POPUP_BUTTON); + await page.waitForSelector(selectors.UNREAD_THREAD_CHECKBOX); + await page.waitForSelector(selectors.ONLY_GAMES_THREAD_OPTION); + await page.waitForSelector(selectors.FILTER_THREADS_BUTTON); // Set the filters await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector).removeAttribute("checked"), - constSelectors.UNREAD_THREAD_CHECKBOX + selectors.UNREAD_THREAD_CHECKBOX ); // Also read the threads already read - await page.click(constSelectors.ONLY_GAMES_THREAD_OPTION); + await page.click(selectors.ONLY_GAMES_THREAD_OPTION); // Filter the threads - await page.click(constSelectors.FILTER_THREADS_BUTTON); - await page.waitForSelector(constSelectors.WATCHED_THREAD_URLS); + await page.click(selectors.FILTER_THREADS_BUTTON); + await page.waitForSelector(selectors.WATCHED_THREAD_URLS); // Get the threads urls let urls = []; let nextPageExists = false; do { // Get all the URLs - for (let handle of await page.$$(constSelectors.WATCHED_THREAD_URLS)) { + for (let handle of await page.$$(selectors.WATCHED_THREAD_URLS)) { let src = await page.evaluate( /* istanbul ignore next */ (element) => element.href, handle @@ -543,13 +543,13 @@ async function getUserWatchedGameThreads(browser) { nextPageExists = await page.evaluate( /* istanbul ignore next */ (selector) => document.querySelector(selector), - constSelectors.WATCHED_THREAD_NEXT_PAGE + selectors.WATCHED_THREAD_NEXT_PAGE ); // Click to next page if (nextPageExists) { - await page.click(constSelectors.WATCHED_THREAD_NEXT_PAGE); - await page.waitForSelector(constSelectors.WATCHED_THREAD_URLS); + await page.click(selectors.WATCHED_THREAD_NEXT_PAGE); + await page.waitForSelector(selectors.WATCHED_THREAD_URLS); } } while (nextPageExists); @@ -576,19 +576,19 @@ async function getSearchGameResults(browser, gamename) { }); // Go to the search form and wait for it // Explicitly wait for the required items to load - await page.waitForSelector(constSelectors.SEARCH_FORM_TEXTBOX); - await page.waitForSelector(constSelectors.TITLE_ONLY_CHECKBOX); - await page.waitForSelector(constSelectors.SEARCH_BUTTON); + await page.waitForSelector(selectors.SEARCH_FORM_TEXTBOX); + await page.waitForSelector(selectors.TITLE_ONLY_CHECKBOX); + await page.waitForSelector(selectors.SEARCH_BUTTON); - await page.type(constSelectors.SEARCH_FORM_TEXTBOX, gamename); // Type the game we desire - await page.click(constSelectors.TITLE_ONLY_CHECKBOX); // Select only the thread with the game in the titles - await page.click(constSelectors.SEARCH_BUTTON); // Execute search + await page.type(selectors.SEARCH_FORM_TEXTBOX, gamename); // Type the game we desire + await page.click(selectors.TITLE_ONLY_CHECKBOX); // Select only the thread with the game in the titles + await page.click(selectors.SEARCH_BUTTON); // Execute search await page.waitForNavigation({ waitUntil: shared.WAIT_STATEMENT, }); // Wait for page to load // Select all conversation titles - let threadTitleList = await page.$$(constSelectors.THREAD_TITLE); + let threadTitleList = await page.$$(selectors.THREAD_TITLE); // For each title extract the info about the conversation if (shared.debug) console.log("Extracting info from conversation titles"); diff --git a/coverage.lcov b/coverage.lcov new file mode 100644 index 0000000..0476263 --- /dev/null +++ b/coverage.lcov @@ -0,0 +1,813 @@ +TN: +SF:app\index.js +FN:34,(anonymous_0) +FN:42,(anonymous_1) +FN:51,(anonymous_2) +FN:59,(anonymous_3) +FN:67,(anonymous_4) +FN:88,(anonymous_5) +FN:139,(anonymous_6) +FN:192,(anonymous_7) +FN:213,(anonymous_8) +FN:252,(anonymous_9) +FN:302,(anonymous_10) +FN:320,loadCookies +FN:342,isCookieExpired +FN:378,loadValuesFromLatestPage +FN:412,getValuesFromLatestPage +FN:439,loginF95 +FN:503,getUserWatchedGameThreads +FN:569,getSearchGameResults +FN:614,getOnlyGameThreads +FNF:19 +FNH:15 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:11,(anonymous_5) +FNDA:5,(anonymous_6) +FNDA:1,(anonymous_7) +FNDA:3,(anonymous_8) +FNDA:2,(anonymous_9) +FNDA:9,(anonymous_10) +FNDA:12,loadCookies +FNDA:49,isCookieExpired +FNDA:6,loadValuesFromLatestPage +FNDA:2,getValuesFromLatestPage +FNDA:5,loginF95 +FNDA:1,getUserWatchedGameThreads +FNDA:2,getSearchGameResults +FNDA:12,getOnlyGameThreads +DA:4,1 +DA:7,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:34,1 +DA:35,0 +DA:42,1 +DA:43,0 +DA:51,1 +DA:52,1 +DA:59,1 +DA:60,0 +DA:67,1 +DA:68,0 +DA:71,0 +DA:76,1 +DA:88,1 +DA:89,11 +DA:90,1 +DA:91,1 +DA:92,1 +DA:93,1 +DA:94,1 +DA:98,10 +DA:99,10 +DA:100,5 +DA:101,5 +DA:102,5 +DA:103,5 +DA:104,5 +DA:105,5 +DA:109,5 +DA:110,0 +DA:112,5 +DA:113,5 +DA:115,0 +DA:116,0 +DA:119,5 +DA:120,5 +DA:122,5 +DA:124,2 +DA:125,2 +DA:127,3 +DA:129,5 +DA:130,5 +DA:139,1 +DA:140,5 +DA:141,1 +DA:142,1 +DA:145,4 +DA:148,4 +DA:149,4 +DA:151,0 +DA:152,0 +DA:155,4 +DA:156,4 +DA:159,3 +DA:164,3 +DA:165,3 +DA:173,3 +DA:174,3 +DA:181,3 +DA:182,3 +DA:183,3 +DA:192,1 +DA:193,1 +DA:194,0 +DA:195,0 +DA:198,1 +DA:201,1 +DA:202,0 +DA:213,1 +DA:214,3 +DA:215,1 +DA:216,1 +DA:220,2 +DA:221,2 +DA:223,0 +DA:224,0 +DA:226,2 +DA:229,2 +DA:230,2 +DA:232,4 +DA:236,2 +DA:237,2 +DA:239,4 +DA:240,2 +DA:243,2 +DA:244,2 +DA:252,1 +DA:253,2 +DA:254,1 +DA:255,1 +DA:259,1 +DA:260,1 +DA:262,0 +DA:263,0 +DA:265,1 +DA:266,1 +DA:267,1 +DA:270,1 +DA:271,1 +DA:273,1 +DA:275,1 +DA:281,1 +DA:287,1 +DA:288,1 +DA:289,1 +DA:290,1 +DA:292,1 +DA:293,1 +DA:295,1 +DA:302,1 +DA:303,9 +DA:304,3 +DA:305,3 +DA:307,6 +DA:322,12 +DA:324,7 +DA:325,7 +DA:328,7 +DA:329,49 +DA:333,7 +DA:334,5 +DA:344,49 +DA:347,49 +DA:349,49 +DA:351,49 +DA:353,49 +DA:354,0 +DA:355,0 +DA:358,0 +DA:362,49 +DA:385,6 +DA:386,6 +DA:387,4 +DA:388,4 +DA:392,2 +DA:393,0 +DA:394,2 +DA:399,2 +DA:400,2 +DA:413,2 +DA:415,2 +DA:416,2 +DA:418,2 +DA:419,17 +DA:424,17 +DA:426,2 +DA:440,5 +DA:441,5 +DA:444,5 +DA:445,5 +DA:446,5 +DA:447,5 +DA:448,5 +DA:449,5 +DA:450,5 +DA:455,5 +DA:458,5 +DA:465,5 +DA:466,2 +DA:467,2 +DA:468,2 +DA:471,3 +DA:478,3 +DA:484,3 +DA:485,1 +DA:486,2 +DA:490,2 +DA:491,0 +DA:492,0 +DA:494,5 +DA:495,5 +DA:504,1 +DA:505,1 +DA:508,1 +DA:511,1 +DA:512,1 +DA:513,1 +DA:514,1 +DA:517,1 +DA:523,1 +DA:526,1 +DA:527,1 +DA:530,1 +DA:531,1 +DA:532,1 +DA:534,3 +DA:535,46 +DA:540,46 +DA:541,46 +DA:544,3 +DA:550,3 +DA:551,2 +DA:552,2 +DA:556,1 +DA:557,1 +DA:570,2 +DA:572,2 +DA:573,2 +DA:574,2 +DA:579,2 +DA:580,2 +DA:581,2 +DA:583,2 +DA:584,2 +DA:585,2 +DA:586,2 +DA:591,2 +DA:594,2 +DA:595,2 +DA:596,2 +DA:597,12 +DA:600,12 +DA:602,2 +DA:603,2 +DA:605,2 +DA:615,12 +DA:618,12 +DA:622,12 +DA:625,12 +DA:627,16 +DA:631,16 +DA:634,16 +DA:636,4 +LF:236 +LH:213 +BRDA:71,0,0,0 +BRDA:71,0,1,0 +BRDA:89,1,0,1 +BRDA:89,1,1,10 +BRDA:90,2,0,0 +BRDA:90,2,1,1 +BRDA:99,3,0,5 +BRDA:99,3,1,5 +BRDA:100,4,0,0 +BRDA:100,4,1,5 +BRDA:109,5,0,0 +BRDA:109,5,1,5 +BRDA:113,6,0,5 +BRDA:113,6,1,0 +BRDA:115,7,0,0 +BRDA:115,7,1,0 +BRDA:122,8,0,2 +BRDA:122,8,1,3 +BRDA:125,9,0,0 +BRDA:125,9,1,2 +BRDA:129,10,0,5 +BRDA:129,10,1,0 +BRDA:140,11,0,1 +BRDA:140,11,1,4 +BRDA:145,12,0,0 +BRDA:145,12,1,4 +BRDA:149,13,0,4 +BRDA:149,13,1,0 +BRDA:151,14,0,0 +BRDA:151,14,1,0 +BRDA:181,15,0,3 +BRDA:181,15,1,0 +BRDA:182,16,0,0 +BRDA:182,16,1,3 +BRDA:193,17,0,0 +BRDA:193,17,1,1 +BRDA:201,18,0,1 +BRDA:201,18,1,0 +BRDA:214,19,0,1 +BRDA:214,19,1,2 +BRDA:221,20,0,2 +BRDA:221,20,1,0 +BRDA:223,21,0,0 +BRDA:223,21,1,0 +BRDA:239,22,0,2 +BRDA:239,22,1,2 +BRDA:239,23,0,4 +BRDA:239,23,1,2 +BRDA:243,24,0,2 +BRDA:243,24,1,0 +BRDA:253,25,0,1 +BRDA:253,25,1,1 +BRDA:260,26,0,1 +BRDA:260,26,1,0 +BRDA:262,27,0,0 +BRDA:262,27,1,0 +BRDA:289,28,0,1 +BRDA:289,28,1,0 +BRDA:293,29,0,1 +BRDA:293,29,1,0 +BRDA:303,30,0,3 +BRDA:303,30,1,6 +BRDA:322,31,0,7 +BRDA:322,31,1,5 +BRDA:329,32,0,0 +BRDA:329,32,1,49 +BRDA:349,33,0,49 +BRDA:349,33,1,0 +BRDA:353,34,0,0 +BRDA:353,34,1,49 +BRDA:354,35,0,0 +BRDA:354,35,1,0 +BRDA:385,36,0,0 +BRDA:385,36,1,6 +BRDA:386,37,0,4 +BRDA:386,37,1,2 +BRDA:392,38,0,0 +BRDA:392,38,1,2 +BRDA:413,39,0,0 +BRDA:413,39,1,2 +BRDA:465,40,0,2 +BRDA:465,40,1,3 +BRDA:471,41,0,3 +BRDA:471,41,1,0 +BRDA:484,42,0,1 +BRDA:484,42,1,2 +BRDA:486,43,0,2 +BRDA:486,43,1,0 +BRDA:550,44,0,2 +BRDA:550,44,1,1 +BRDA:570,45,0,0 +BRDA:570,45,1,2 +BRDA:594,46,0,0 +BRDA:594,46,1,2 +BRDA:600,47,0,4 +BRDA:600,47,1,8 +BRDA:602,48,0,0 +BRDA:602,48,1,2 +BRDA:634,49,0,8 +BRDA:634,49,1,8 +BRF:100 +BRH:60 +end_of_record +TN: +SF:app\scripts\game-scraper.js +FN:23,(anonymous_0) +FN:75,getOverview +FN:90,getMainPostStructuredText +FN:105,getGameAuthor +FN:127,parseConversationPage +FN:154,getGamePreviewSource +FN:173,getGameTitle +FN:192,getGameTags +FN:211,parsePrefixes +FN:238,getGameDownloadLink +FN:287,extractGameHostingData +FNF:11 +FNH:11 +FNDA:4,(anonymous_0) +FNDA:4,getOverview +FNDA:4,getMainPostStructuredText +FNDA:4,getGameAuthor +FNDA:4,parseConversationPage +FNDA:4,getGamePreviewSource +FNDA:4,getGameTitle +FNDA:4,getGameTags +FNDA:4,parsePrefixes +FNDA:4,getGameDownloadLink +FNDA:8,extractGameHostingData +DA:4,1 +DA:5,1 +DA:6,1 +DA:9,1 +DA:10,1 +DA:11,1 +DA:12,1 +DA:13,1 +DA:14,1 +DA:23,1 +DA:24,4 +DA:27,4 +DA:28,4 +DA:29,4 +DA:31,4 +DA:32,4 +DA:33,4 +DA:39,4 +DA:40,4 +DA:41,4 +DA:42,4 +DA:43,4 +DA:44,4 +DA:45,4 +DA:46,4 +DA:47,4 +DA:48,4 +DA:51,4 +DA:52,4 +DA:53,4 +DA:54,4 +DA:55,4 +DA:56,4 +DA:57,4 +DA:58,4 +DA:59,4 +DA:61,4 +DA:62,4 +DA:63,4 +DA:78,4 +DA:79,2 +DA:80,4 +DA:92,4 +DA:95,4 +DA:96,4 +DA:107,4 +DA:110,4 +DA:113,4 +DA:116,4 +DA:117,4 +DA:128,4 +DA:131,4 +DA:132,4 +DA:134,838 +DA:137,228 +DA:138,228 +DA:139,228 +DA:142,228 +DA:145,4 +DA:155,4 +DA:164,4 +DA:175,4 +DA:178,4 +DA:181,4 +DA:182,4 +DA:183,4 +DA:193,4 +DA:196,4 +DA:197,28 +DA:198,28 +DA:200,4 +DA:212,4 +DA:215,4 +DA:216,4 +DA:217,8 +DA:220,8 +DA:223,8 +DA:224,8 +DA:227,4 +DA:229,4 +DA:240,4 +DA:243,4 +DA:246,4 +DA:247,4 +DA:252,4 +DA:253,4 +DA:254,16 +DA:255,14 +DA:258,14 +DA:259,86 +DA:260,2 +DA:261,2 +DA:265,4 +DA:268,2 +DA:271,2 +DA:272,2 +DA:273,8 +DA:274,8 +DA:276,2 +DA:288,8 +DA:289,8 +DA:290,8 +DA:291,8 +DA:292,8 +DA:293,8 +DA:294,8 +DA:297,8 +DA:298,8 +DA:299,6 +DA:302,6 +DA:307,6 +DA:311,6 +DA:313,6 +DA:314,6 +DA:315,6 +DA:317,30 +DA:320,24 +DA:321,24 +DA:322,24 +DA:325,24 +DA:326,24 +DA:327,24 +DA:329,24 +DA:330,24 +DA:331,24 +DA:332,24 +DA:333,24 +DA:335,24 +DA:338,6 +LF:129 +LH:129 +BRDA:24,0,0,0 +BRDA:24,0,1,4 +BRDA:27,1,0,0 +BRDA:27,1,1,4 +BRDA:29,2,0,0 +BRDA:29,2,1,4 +BRDA:56,3,0,2 +BRDA:56,3,1,2 +BRDA:57,4,0,2 +BRDA:57,4,1,2 +BRDA:62,5,0,0 +BRDA:62,5,1,4 +BRDA:78,6,0,2 +BRDA:78,6,1,2 +BRDA:134,7,0,610 +BRDA:134,7,1,228 +BRDA:142,8,0,124 +BRDA:142,8,1,104 +BRDA:164,9,0,3 +BRDA:164,9,1,1 +BRDA:223,10,0,0 +BRDA:223,10,1,8 +BRDA:224,11,0,4 +BRDA:224,11,1,4 +BRDA:227,12,0,2 +BRDA:227,12,1,2 +BRDA:247,13,0,0 +BRDA:247,13,1,4 +BRDA:254,14,0,2 +BRDA:254,14,1,14 +BRDA:259,15,0,2 +BRDA:259,15,1,84 +BRDA:265,16,0,2 +BRDA:265,16,1,2 +BRDA:298,17,0,2 +BRDA:298,17,1,6 +BRDA:307,18,0,0 +BRDA:307,18,1,6 +BRDA:317,19,0,6 +BRDA:317,19,1,24 +BRDA:329,20,0,24 +BRDA:329,20,1,0 +BRF:42 +BRH:34 +end_of_record +TN: +SF:app\scripts\puppeteer-helper.js +FN:15,(anonymous_0) +FN:31,(anonymous_1) +FN:37,(anonymous_2) +FNF:3 +FNH:3 +FNDA:12,(anonymous_0) +FNDA:17,(anonymous_1) +FNDA:1962,(anonymous_2) +DA:4,1 +DA:7,1 +DA:15,1 +DA:17,12 +DA:21,12 +DA:31,1 +DA:33,17 +DA:36,17 +DA:37,17 +DA:38,1962 +DA:41,1247 +DA:45,17 +DA:47,17 +DA:49,17 +LF:14 +LH:14 +BRDA:38,0,0,715 +BRDA:38,0,1,1247 +BRF:2 +BRH:2 +end_of_record +TN: +SF:app\scripts\shared.js +FN:59,(anonymous_0) +FN:66,(anonymous_1) +FN:73,(anonymous_2) +FN:80,(anonymous_3) +FN:87,(anonymous_4) +FN:94,(anonymous_5) +FN:101,(anonymous_6) +FN:108,(anonymous_7) +FN:115,(anonymous_8) +FN:123,(anonymous_9) +FN:129,(anonymous_10) +FN:133,(anonymous_11) +FN:137,(anonymous_12) +FN:141,(anonymous_13) +FN:145,(anonymous_14) +FN:149,(anonymous_15) +FN:153,(anonymous_16) +FNF:17 +FNH:14 +FNDA:56,(anonymous_0) +FNDA:31,(anonymous_1) +FNDA:21,(anonymous_2) +FNDA:8,(anonymous_3) +FNDA:8,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:21,(anonymous_6) +FNDA:3,(anonymous_7) +FNDA:3,(anonymous_8) +FNDA:23,(anonymous_9) +FNDA:12,(anonymous_10) +FNDA:3,(anonymous_11) +FNDA:3,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:16,(anonymous_15) +FNDA:1,(anonymous_16) +DA:4,1 +DA:15,1 +DA:20,1 +DA:25,1 +DA:30,1 +DA:35,1 +DA:40,1 +DA:45,1 +DA:51,1 +DA:60,56 +DA:67,31 +DA:74,21 +DA:81,8 +DA:88,8 +DA:95,0 +DA:102,21 +DA:109,3 +DA:116,3 +DA:124,23 +DA:130,12 +DA:134,3 +DA:138,3 +DA:142,0 +DA:146,0 +DA:150,16 +DA:154,1 +DA:159,1 +LF:27 +LH:24 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\urls-helper.js +FN:12,(anonymous_0) +FN:23,(anonymous_1) +FNF:2 +FNH:2 +FNDA:4,(anonymous_0) +FNDA:29,(anonymous_1) +DA:4,1 +DA:12,1 +DA:13,4 +DA:14,0 +DA:23,1 +DA:24,29 +DA:25,29 +DA:26,28 +DA:28,1 +LF:9 +LH:8 +BRDA:13,0,0,4 +BRDA:13,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:app\scripts\classes\game-download.js +FN:4,(anonymous_0) +FN:31,(anonymous_1) +FN:37,downloadMEGA +FN:41,downloadNOPY +FNF:4 +FNH:1 +FNDA:24,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,downloadMEGA +FNDA:0,downloadNOPY +DA:10,24 +DA:16,24 +DA:23,24 +DA:35,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\classes\game-info.js +FN:6,(anonymous_0) +FN:86,(anonymous_1) +FN:109,(anonymous_2) +FNF:3 +FNH:1 +FNDA:4,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +DA:3,1 +DA:12,4 +DA:17,4 +DA:22,4 +DA:27,4 +DA:32,4 +DA:37,4 +DA:42,4 +DA:47,4 +DA:52,4 +DA:57,4 +DA:62,4 +DA:67,4 +DA:72,4 +DA:79,4 +DA:87,0 +DA:110,0 +DA:113,1 +LF:18 +LH:16 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\classes\login-result.js +FN:7,(anonymous_0) +FNF:1 +FNH:1 +FNDA:11,(anonymous_0) +DA:12,11 +DA:17,11 +DA:20,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\classes\user-data.js +FN:7,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:12,1 +DA:17,1 +DA:22,1 +DA:26,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\costants\css-selectors.js +FNF:0 +FNH:0 +DA:1,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:app\scripts\costants\urls.js +FNF:0 +FNH:0 +DA:1,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record diff --git a/package.json b/package.json index a7f90f1..f68ea45 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "node": ">=10.0" }, "scripts": { - "unit-test": "nyc --reporter=text mocha", + "unit-test-mocha": "nyc --reporter=text mocha", + "report-coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov -t 38ad72bf-a29d-4c2e-9827-96cbe037afd2", "test": "node ./test/test.js", "deploy": "npm pack" },