From f16e3a30ac9bbfc3f3dd8a34fbdbdf653708201a Mon Sep 17 00:00:00 2001 From: lowlighter <22963968+lowlighter@users.noreply.github.com> Date: Sun, 21 Mar 2021 14:15:05 +0100 Subject: [PATCH] Add correct mocking for RSS feeds --- source/app/mocks/api/axios/get/rss.mjs | 22 ---------------------- source/app/mocks/index.mjs | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 22 deletions(-) delete mode 100644 source/app/mocks/api/axios/get/rss.mjs diff --git a/source/app/mocks/api/axios/get/rss.mjs b/source/app/mocks/api/axios/get/rss.mjs deleted file mode 100644 index 8f0083f6..00000000 --- a/source/app/mocks/api/axios/get/rss.mjs +++ /dev/null @@ -1,22 +0,0 @@ -/**Mocked data */ - export default function({faker, url, options, login = faker.internet.userName()}) { - //Stackoverflow api - if (/^https:..example.org.rss$/.test(url)) { - console.debug(`metrics/compute/mocks > mocking rss feed result > ${url}`) - return ({ - status:200, - data:{ - items:new Array(30).fill(null).map(_ => ({ - title:faker.lorem.sentence(), - link:faker.internet.url(), - content:faker.lorem.paragraphs(), - contentSnippet:faker.lorem.paragraph(), - isoDate:faker.date.recent(), - })), - title:faker.lorem.sentence(), - description:faker.lorem.paragraph(), - link:url, - }, - }) - } - } \ No newline at end of file diff --git a/source/app/mocks/index.mjs b/source/app/mocks/index.mjs index 055c544e..6cf60378 100644 --- a/source/app/mocks/index.mjs +++ b/source/app/mocks/index.mjs @@ -3,6 +3,7 @@ import faker from "faker" import paths from "path" import urls from "url" + import rss from "rss-parser" import fs from "fs/promises" //Mocked state @@ -120,6 +121,30 @@ }) } + //RSS mocking + { + //Unmocked + console.debug("metrics/compute/mocks > mocking rss-parser") + const unmocked = {rss} + + //Mock rss feed + rss.prototype.parseURL = function (url) { + console.debug(`metrics/compute/mocks > mocking rss feed result > ${url}`) + return ({ + items:new Array(30).fill(null).map(_ => ({ + title:faker.lorem.sentence(), + link:faker.internet.url(), + content:faker.lorem.paragraphs(), + contentSnippet:faker.lorem.paragraph(), + isoDate:faker.date.recent() + })), + title:faker.lorem.words(), + description:faker.lorem.paragraph(), + link:url + }) + } + } + //Return mocked elements return {graphql, rest} }