Add cross-env and ListenerRSSInfo is an interface
This commit is contained in:
		@@ -1,5 +1,5 @@
 | 
			
		||||
// external lib
 | 
			
		||||
import * as Parser from "rss-parser";
 | 
			
		||||
import Parser from "rss-parser";
 | 
			
		||||
 | 
			
		||||
// tested class
 | 
			
		||||
import {
 | 
			
		||||
@@ -21,15 +21,15 @@ const expect = chai.expect;
 | 
			
		||||
describe("test class RSS: jsonfile", function () {
 | 
			
		||||
  let myListener: Listeners | undefined = undefined;
 | 
			
		||||
 | 
			
		||||
  const infosListener: ListenerRRSInfo = new ListenerRRSInfo(
 | 
			
		||||
    "my-test-service",
 | 
			
		||||
    "fake.rss.service",
 | 
			
		||||
    15,
 | 
			
		||||
    [
 | 
			
		||||
  const infosListener: ListenerRRSInfo = {
 | 
			
		||||
    name: "my-test-service",
 | 
			
		||||
    address: "fake.rss.service",
 | 
			
		||||
    timeloop: 15,
 | 
			
		||||
    customfields: [
 | 
			
		||||
      ["description", ["media:group", "media:description"]],
 | 
			
		||||
      ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
    ]
 | 
			
		||||
  );
 | 
			
		||||
    ],
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  // parseURL tests
 | 
			
		||||
  let stubParser: sinon.StubbedInstance<Parser>;
 | 
			
		||||
@@ -89,6 +89,7 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
 | 
			
		||||
  afterEach(function () {
 | 
			
		||||
    // restore stubs
 | 
			
		||||
    stubParser.parseURL.reset();
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  describe("Building Ytb listener", function () {
 | 
			
		||||
@@ -110,83 +111,83 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
        item: ["media:group", "media:group"],
 | 
			
		||||
      });*/
 | 
			
		||||
    });
 | 
			
		||||
    it("The build without issues (raw infos : 4 params)", function () {
 | 
			
		||||
      myListener = new Listeners("my-test-service", "fake.rss.service", 15, [
 | 
			
		||||
        ["description", ["media:group", "media:description"]],
 | 
			
		||||
        ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
      ]);
 | 
			
		||||
 | 
			
		||||
      // assertions
 | 
			
		||||
      // myListener data
 | 
			
		||||
      expect(myListener.timeloop).to.eql(15);
 | 
			
		||||
      expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
      expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
      expect(myListener.customfields).to.eql([
 | 
			
		||||
        ["description", ["media:group", "media:description"]],
 | 
			
		||||
        ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
      ]);
 | 
			
		||||
      /*
 | 
			
		||||
      expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
        feed: [],
 | 
			
		||||
        item: ["media:group", "media:group"],
 | 
			
		||||
      });*/
 | 
			
		||||
    });
 | 
			
		||||
    it("The build without issues (raw infos : just 2 params)", function () {
 | 
			
		||||
      myListener = new Listeners("my-test-service", "fake.rss.service");
 | 
			
		||||
 | 
			
		||||
      // assertions
 | 
			
		||||
      // myListener data
 | 
			
		||||
      expect(myListener.timeloop).to.eql(5 * 60);
 | 
			
		||||
      expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
      expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
      expect(myListener.customfields).to.eql(undefined);
 | 
			
		||||
      /*
 | 
			
		||||
      expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
        feed: [],
 | 
			
		||||
        item: [],
 | 
			
		||||
      });*/
 | 
			
		||||
    });
 | 
			
		||||
    it("The build without issues (raw infos : just 3 params (no custom fields))", function () {
 | 
			
		||||
      myListener = new Listeners("my-test-service", "fake.rss.service", 15);
 | 
			
		||||
 | 
			
		||||
      // assertions
 | 
			
		||||
      // myListener data
 | 
			
		||||
      expect(myListener.timeloop).to.eql(15);
 | 
			
		||||
      expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
      expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
      expect(myListener.customfields).to.eql(undefined);
 | 
			
		||||
      /*
 | 
			
		||||
      expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
        feed: [],
 | 
			
		||||
        item: [],
 | 
			
		||||
      });*/
 | 
			
		||||
    });
 | 
			
		||||
    it("The build without issues (raw infos : just 3 params (no timeloop))", function () {
 | 
			
		||||
      myListener = new Listeners(
 | 
			
		||||
        "my-test-service",
 | 
			
		||||
        "fake.rss.service",
 | 
			
		||||
        undefined,
 | 
			
		||||
        [
 | 
			
		||||
          ["description", ["media:group", "media:description"]],
 | 
			
		||||
          ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
        ]
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
      // assertions
 | 
			
		||||
      // myListener data
 | 
			
		||||
      expect(myListener.timeloop).to.eql(5 * 60);
 | 
			
		||||
      expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
      expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
      expect(myListener.customfields).to.eql([
 | 
			
		||||
        ["description", ["media:group", "media:description"]],
 | 
			
		||||
        ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
      ]);
 | 
			
		||||
      /*
 | 
			
		||||
      expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
        feed: [],
 | 
			
		||||
        item: ["media:group", "media:group"],
 | 
			
		||||
      });*/
 | 
			
		||||
    });
 | 
			
		||||
    // it("The build without issues (raw infos : 4 params)", function () {
 | 
			
		||||
    //   myListener = new Listeners("my-test-service", "fake.rss.service", 15, [
 | 
			
		||||
    //     ["description", ["media:group", "media:description"]],
 | 
			
		||||
    //     ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
    //   ]);
 | 
			
		||||
    //
 | 
			
		||||
    //   // assertions
 | 
			
		||||
    //   // myListener data
 | 
			
		||||
    //   expect(myListener.timeloop).to.eql(15);
 | 
			
		||||
    //   expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
    //   expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
    //   expect(myListener.customfields).to.eql([
 | 
			
		||||
    //     ["description", ["media:group", "media:description"]],
 | 
			
		||||
    //     ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
    //   ]);
 | 
			
		||||
    //   /*
 | 
			
		||||
    //   expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
    //     feed: [],
 | 
			
		||||
    //     item: ["media:group", "media:group"],
 | 
			
		||||
    //   });*/
 | 
			
		||||
    // });
 | 
			
		||||
    // it("The build without issues (raw infos : just 2 params)", function () {
 | 
			
		||||
    //   myListener = new Listeners("my-test-service", "fake.rss.service");
 | 
			
		||||
    //
 | 
			
		||||
    //   // assertions
 | 
			
		||||
    //   // myListener data
 | 
			
		||||
    //   expect(myListener.timeloop).to.eql(5 * 60);
 | 
			
		||||
    //   expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
    //   expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
    //   expect(myListener.customfields).to.eql(undefined);
 | 
			
		||||
    //   /*
 | 
			
		||||
    //   expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
    //     feed: [],
 | 
			
		||||
    //     item: [],
 | 
			
		||||
    //   });*/
 | 
			
		||||
    // });
 | 
			
		||||
    // it("The build without issues (raw infos : just 3 params (no custom fields))", function () {
 | 
			
		||||
    //   myListener = new Listeners("my-test-service", "fake.rss.service", 15);
 | 
			
		||||
    //
 | 
			
		||||
    //   // assertions
 | 
			
		||||
    //   // myListener data
 | 
			
		||||
    //   expect(myListener.timeloop).to.eql(15);
 | 
			
		||||
    //   expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
    //   expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
    //   expect(myListener.customfields).to.eql(undefined);
 | 
			
		||||
    //   /*
 | 
			
		||||
    //   expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
    //     feed: [],
 | 
			
		||||
    //     item: [],
 | 
			
		||||
    //   });*/
 | 
			
		||||
    // });
 | 
			
		||||
    // it("The build without issues (raw infos : just 3 params (no timeloop))", function () {
 | 
			
		||||
    //   myListener = new Listeners(
 | 
			
		||||
    //     "my-test-service",
 | 
			
		||||
    //     "fake.rss.service",
 | 
			
		||||
    //     undefined,
 | 
			
		||||
    //     [
 | 
			
		||||
    //       ["description", ["media:group", "media:description"]],
 | 
			
		||||
    //       ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
    //     ]
 | 
			
		||||
    //   );
 | 
			
		||||
    //
 | 
			
		||||
    //   // assertions
 | 
			
		||||
    //   // myListener data
 | 
			
		||||
    //   expect(myListener.timeloop).to.eql(5 * 60);
 | 
			
		||||
    //   expect(myListener.name).to.eql("my-test-service");
 | 
			
		||||
    //   expect(myListener.address).to.eql("fake.rss.service");
 | 
			
		||||
    //   expect(myListener.customfields).to.eql([
 | 
			
		||||
    //     ["description", ["media:group", "media:description"]],
 | 
			
		||||
    //     ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
    //   ]);
 | 
			
		||||
    //   /*
 | 
			
		||||
    //   expect(myListener.parser.options.customFields).to.eql({
 | 
			
		||||
    //     feed: [],
 | 
			
		||||
    //     item: ["media:group", "media:group"],
 | 
			
		||||
    //   });*/
 | 
			
		||||
    // });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  describe("fetch some data", function () {
 | 
			
		||||
@@ -202,7 +203,7 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
      // calls
 | 
			
		||||
      expect(stubParser.parseURL).to.have.been.calledOnce;
 | 
			
		||||
      expect(stubParser.parseURL).to.have.been.calledWith(
 | 
			
		||||
        infosListener._address
 | 
			
		||||
        infosListener.address
 | 
			
		||||
      );
 | 
			
		||||
      // Promise
 | 
			
		||||
      //await expect(Promise.resolve(res)).to.be.eql(mockedRSSOutput);
 | 
			
		||||
@@ -214,15 +215,14 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
    });
 | 
			
		||||
    it("fetch with bad address", function () {
 | 
			
		||||
      // classic build
 | 
			
		||||
      myListener = new Listeners(
 | 
			
		||||
        "my-test-service",
 | 
			
		||||
        "bad.rss.service",
 | 
			
		||||
        undefined,
 | 
			
		||||
        [
 | 
			
		||||
      myListener = new Listeners({
 | 
			
		||||
        name: "my-test-service",
 | 
			
		||||
        address: "bad.rss.service",
 | 
			
		||||
        customfields: [
 | 
			
		||||
          ["description", ["media:group", "media:description"]],
 | 
			
		||||
          ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
        ]
 | 
			
		||||
      );
 | 
			
		||||
        ],
 | 
			
		||||
      });
 | 
			
		||||
      myListener.parser = stubParser; // replace the parser by my fake parser
 | 
			
		||||
      // fetch
 | 
			
		||||
      let res = myListener.fetchRSS();
 | 
			
		||||
@@ -245,10 +245,15 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
      this.timeout(15000);
 | 
			
		||||
 | 
			
		||||
      // classic build
 | 
			
		||||
      myListener = new Listeners("my-test-service", "fake.rss.service", 2, [
 | 
			
		||||
        ["description", ["media:group", "media:description"]],
 | 
			
		||||
        ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
      ]);
 | 
			
		||||
      myListener = new Listeners({
 | 
			
		||||
        name: "my-test-service",
 | 
			
		||||
        address: "fake.rss.service",
 | 
			
		||||
        timeloop: 2,
 | 
			
		||||
        customfields: [
 | 
			
		||||
          ["description", ["media:group", "media:description"]],
 | 
			
		||||
          ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
        ],
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      //spy
 | 
			
		||||
      const fun_spy: sinon.default.SinonSpy = sinon.default.spy();
 | 
			
		||||
@@ -271,10 +276,15 @@ describe("test class RSS: jsonfile", function () {
 | 
			
		||||
      this.timeout(15000);
 | 
			
		||||
 | 
			
		||||
      // classic build
 | 
			
		||||
      myListener = new Listeners("my-test-service", "bad.rss.service", 2, [
 | 
			
		||||
        ["description", ["media:group", "media:description"]],
 | 
			
		||||
        ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
      ]);
 | 
			
		||||
      myListener = new Listeners({
 | 
			
		||||
        name: "my-test-service",
 | 
			
		||||
        address: "fake.rss.service",
 | 
			
		||||
        timeloop: 2,
 | 
			
		||||
        customfields: [
 | 
			
		||||
          ["description", ["media:group", "media:description"]],
 | 
			
		||||
          ["icon", ["media:group", "media:thumbnail"]],
 | 
			
		||||
        ],
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      //spy
 | 
			
		||||
      const fun_spy: sinon.default.SinonSpy = sinon.default.spy();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user