mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2024-11-10 01:02:30 +01:00
Merge pull request #335 from mchangrh/mchangrh/deepPartialEquals
use deepPartialEquals instead of multiple assert.strictEquals
This commit is contained in:
commit
0463513d5d
12 changed files with 618 additions and 248 deletions
|
@ -1,6 +1,6 @@
|
|||
import fetch from "node-fetch";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
||||
|
@ -53,9 +53,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.strictEqual(data[0].userAgent, userAgents.vanced);
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
userAgent: userAgents.vanced,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -66,9 +69,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "downvoted");
|
||||
assert.strictEqual(data[0].votes, -2);
|
||||
assert.strictEqual(data[0].userAgent, userAgents.meabot);
|
||||
const expected = [{
|
||||
videoID: "downvoted",
|
||||
votes: -2,
|
||||
userAgent: userAgents.meabot,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -79,10 +85,13 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "locked-up");
|
||||
assert.strictEqual(data[0].locked, 1);
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.strictEqual(data[0].userAgent, userAgents.mpv);
|
||||
const expected = [{
|
||||
videoID: "locked-up",
|
||||
locked: 1,
|
||||
votes: 2,
|
||||
userAgent: userAgents.mpv,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -93,9 +102,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "infvotes");
|
||||
assert.strictEqual(data[0].votes, 100000);
|
||||
assert.strictEqual(data[0].userAgent, userAgents.nodesb);
|
||||
const expected = [{
|
||||
videoID: "infvotes",
|
||||
votes: 100000,
|
||||
userAgent: userAgents.nodesb,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -106,9 +118,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "shadowhidden");
|
||||
assert.strictEqual(data[0].shadowHidden, 1);
|
||||
assert.strictEqual(data[0].userAgent, userAgents.blank);
|
||||
const expected = [{
|
||||
videoID: "shadowhidden",
|
||||
shadowHidden: 1,
|
||||
userAgent: userAgents.blank,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -119,9 +134,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "locked-down");
|
||||
assert.strictEqual(data[0].votes, -2);
|
||||
assert.strictEqual(data[0].locked, 1);
|
||||
const expected = [{
|
||||
videoID: "locked-down",
|
||||
locked: 1,
|
||||
votes: -2,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -132,8 +150,11 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "hidden");
|
||||
assert.strictEqual(data[0].hidden, 1);
|
||||
const expected = [{
|
||||
videoID: "hidden",
|
||||
hidden: 1,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -144,8 +165,11 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "oldID");
|
||||
assert.strictEqual(data[0].votes, 1);
|
||||
const expected = [{
|
||||
videoID: "oldID",
|
||||
votes: 1,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -156,9 +180,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
}];
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -169,11 +196,15 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
}, {
|
||||
videoID: "downvoted",
|
||||
votes: -2,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.strictEqual(data[1].videoID, "downvoted");
|
||||
assert.strictEqual(data[1].votes, -2);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -184,8 +215,11 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -232,9 +266,12 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -263,10 +300,6 @@ describe("getSegmentInfo", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.strictEqual(data[1].videoID, "downvoted");
|
||||
assert.strictEqual(data[1].votes, -2);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -286,11 +319,15 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2,
|
||||
}, {
|
||||
videoID: "downvoted",
|
||||
votes: -2,
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[1].videoID, "downvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
assert.strictEqual(data[1].votes, -2);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -301,8 +338,11 @@ describe("getSegmentInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data[0].videoID, "upvoted");
|
||||
assert.strictEqual(data[0].votes, 2);
|
||||
const expected = [{
|
||||
videoID: "upvoted",
|
||||
votes: 2
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import fetch from "node-fetch";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
||||
|
@ -48,12 +48,14 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [12, 14],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0-2",
|
||||
videoDuration: 100
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 12);
|
||||
assert.strictEqual(data[0].segment[1], 14);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0-2");
|
||||
assert.strictEqual(data[0].videoDuration, 100);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -64,13 +66,16 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
videoDuration: 100
|
||||
}, {
|
||||
UUID: "1-uuid-0-2"
|
||||
}];
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
assert.strictEqual(data[1].UUID, "1-uuid-0-2");
|
||||
assert.strictEqual(data[0].videoDuration, 100);
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -81,13 +86,15 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
assert.strictEqual(data[1].UUID, "1-uuid-0-2");
|
||||
assert.strictEqual(data[0].videoDuration, 100);
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
videoDuration: 100
|
||||
}, {
|
||||
UUID: "1-uuid-0-2"
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -98,12 +105,14 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0-1",
|
||||
videoDuration: 120
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0-1");
|
||||
assert.strictEqual(data[0].videoDuration, 120);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -114,11 +123,13 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-2"
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 20);
|
||||
assert.strictEqual(data[0].segment[1], 33);
|
||||
assert.strictEqual(data[0].category, "intro");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-2");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -129,12 +140,14 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
videoDuration: 100
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
assert.strictEqual(data[0].videoDuration, 100);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -145,12 +158,14 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-2",
|
||||
videoDuration: 101
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 20);
|
||||
assert.strictEqual(data[0].segment[1], 33);
|
||||
assert.strictEqual(data[0].category, "intro");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-2");
|
||||
assert.strictEqual(data[0].videoDuration, 101);
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -171,14 +186,16 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "intro");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-6");
|
||||
assert.strictEqual(data[1].segment[0], 20);
|
||||
assert.strictEqual(data[1].segment[1], 33);
|
||||
assert.strictEqual(data[1].category, "intro");
|
||||
assert.strictEqual(data[1].UUID, "1-uuid-7");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-6",
|
||||
}, {
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-7",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -189,15 +206,17 @@ describe("getSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
}, {
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-2",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
assert.strictEqual(data[1].segment[0], 20);
|
||||
assert.strictEqual(data[1].segment[1], 33);
|
||||
assert.strictEqual(data[1].category, "intro");
|
||||
assert.strictEqual(data[1].UUID, "1-uuid-2");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -209,10 +228,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -224,10 +245,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-4");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-4",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -257,10 +280,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-1");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-1",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -272,10 +297,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 20);
|
||||
assert.strictEqual(data[0].segment[1], 33);
|
||||
assert.strictEqual(data[0].category, "intro");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-locked-8");
|
||||
const expected = [{
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-locked-8",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -287,14 +314,16 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
assert.strictEqual(data[1].segment[0], 20);
|
||||
assert.strictEqual(data[1].segment[1], 33);
|
||||
assert.strictEqual(data[1].category, "intro");
|
||||
assert.strictEqual(data[1].UUID, "1-uuid-2");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
}, {
|
||||
segment: [20, 33],
|
||||
category: "intro",
|
||||
UUID: "1-uuid-2",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -306,10 +335,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segment[1], 11);
|
||||
assert.strictEqual(data[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].UUID, "1-uuid-0");
|
||||
const expected = [{
|
||||
segment: [1, 11],
|
||||
category: "sponsor",
|
||||
UUID: "1-uuid-0",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -321,8 +352,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].UUID, "requiredSegmentVid-raw-2");
|
||||
assert.strictEqual(data[1].UUID, "requiredSegmentVid-raw-3");
|
||||
const expected = [{
|
||||
UUID: "requiredSegmentVid-raw-2",
|
||||
}, {
|
||||
UUID: "requiredSegmentVid-raw-3",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -334,8 +369,12 @@ describe("getSkipSegments", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].UUID, "requiredSegmentVid-raw-2");
|
||||
assert.strictEqual(data[1].UUID, "requiredSegmentVid-raw-3");
|
||||
const expected = [{
|
||||
UUID: "requiredSegmentVid-raw-2",
|
||||
}, {
|
||||
UUID: "requiredSegmentVid-raw-3",
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import fetch from "node-fetch";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import {ImportMock,} from "ts-mock-imports";
|
||||
import * as YouTubeAPIModule from "../../src/utils/youtubeApi";
|
||||
|
@ -143,11 +143,19 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
const expected = [{
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
UUID: "getSegmentsByHash-0-0",
|
||||
}]
|
||||
}, {
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data[0].segments.length, 1);
|
||||
assert.strictEqual(data[1].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0");
|
||||
assert.strictEqual(data[1].segments[0].category, "sponsor");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -161,9 +169,17 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segments.length, 1);
|
||||
assert.strictEqual(data[1].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0");
|
||||
assert.strictEqual(data[1].segments[0].category, "sponsor");
|
||||
const expected = [{
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
UUID: "getSegmentsByHash-0-0",
|
||||
}]
|
||||
}, {
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -177,10 +193,19 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segments.length, 2);
|
||||
assert.strictEqual(data[1].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0");
|
||||
assert.strictEqual(data[0].segments[1].UUID, "getSegmentsByHash-0-2");
|
||||
assert.strictEqual(data[1].segments[0].category, "sponsor");
|
||||
const expected = [{
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
UUID: "getSegmentsByHash-0-0",
|
||||
}, {
|
||||
UUID: "getSegmentsByHash-0-2",
|
||||
}]
|
||||
}, {
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -192,12 +217,19 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 2);
|
||||
assert.strictEqual(data[0].segments.length, 2);
|
||||
assert.strictEqual(data[1].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0");
|
||||
assert.strictEqual(data[0].segments[1].UUID, "getSegmentsByHash-0-2");
|
||||
assert.strictEqual(data[1].segments[0].category, "sponsor");
|
||||
const expected = [{
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
UUID: "getSegmentsByHash-0-0",
|
||||
}, {
|
||||
UUID: "getSegmentsByHash-0-2",
|
||||
}]
|
||||
}, {
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -209,8 +241,13 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
const expected = [{
|
||||
segments: [{
|
||||
UUID: "getSegmentsByHash-0-0-1"
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data[0].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0-1");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -250,8 +287,13 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
const expected = [{
|
||||
segments: [{
|
||||
category: "sponsor",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data[0].segments.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(`(get) ${err}`));
|
||||
|
@ -265,14 +307,18 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segments[0].segment[0], 1);
|
||||
assert.strictEqual(data[0].segments[0].segment[1], 10);
|
||||
assert.strictEqual(data[0].segments[0].category, "sponsor");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "getSegmentsByHash-0-0");
|
||||
assert.strictEqual(data[0].segments[1].segment[0], 20);
|
||||
assert.strictEqual(data[0].segments[1].segment[1], 30);
|
||||
assert.strictEqual(data[0].segments[1].category, "intro");
|
||||
assert.strictEqual(data[0].segments[1].UUID, "getSegmentsByHash-0-1");
|
||||
const expected = [{
|
||||
segments: [{
|
||||
segment: [1, 10],
|
||||
category: "sponsor",
|
||||
UUID: "getSegmentsByHash-0-0",
|
||||
}, {
|
||||
segment: [20, 30],
|
||||
category: "intro",
|
||||
UUID: "getSegmentsByHash-0-1",
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -284,9 +330,15 @@ describe("getSkipSegmentsByHash", () => {
|
|||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
const expected = [{
|
||||
segments: [{
|
||||
UUID: "requiredSegmentVid-2"
|
||||
}, {
|
||||
UUID: "requiredSegmentVid-3"
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
assert.strictEqual(data[0].segments.length, 2);
|
||||
assert.strictEqual(data[0].segments[0].UUID, "requiredSegmentVid-2");
|
||||
assert.strictEqual(data[0].segments[0].UUID, "requiredSegmentVid-2");
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -299,8 +351,14 @@ describe("getSkipSegmentsByHash", () => {
|
|||
const data = await res.json();
|
||||
assert.strictEqual(data.length, 1);
|
||||
assert.strictEqual(data[0].segments.length, 2);
|
||||
assert.strictEqual(data[0].segments[0].UUID, "requiredSegmentVid-2");
|
||||
assert.strictEqual(data[0].segments[1].UUID, "requiredSegmentVid-3");
|
||||
const expected = [{
|
||||
segments: [{
|
||||
UUID: "requiredSegmentVid-2"
|
||||
}, {
|
||||
UUID: "requiredSegmentVid-3"
|
||||
}]
|
||||
}];
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import fetch from "node-fetch";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
@ -76,7 +76,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 1);
|
||||
const expected = {
|
||||
warnings: 1
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -87,7 +90,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 1);
|
||||
const expected = {
|
||||
warnings: 1
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -98,7 +104,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 2);
|
||||
const expected = {
|
||||
warnings: 2
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -109,7 +118,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 0);
|
||||
const expected = {
|
||||
warnings: 0,
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -120,7 +132,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.userName, "c2a28fd225e88f74945794ae85aef96001d4a1aaa1022c656f0dd48ac0a3ea0f");
|
||||
const expected = {
|
||||
userName: "c2a28fd225e88f74945794ae85aef96001d4a1aaa1022c656f0dd48ac0a3ea0f"
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -156,7 +171,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warningReason, "warning0-0");
|
||||
const expected = {
|
||||
warningReason: "warning0-0"
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done(); // pass
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -167,7 +185,10 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warningReason, "warning1-1");
|
||||
const expected = {
|
||||
warningReason: "warning1-1"
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done(); // pass
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -178,8 +199,11 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 0);
|
||||
assert.strictEqual(data.warningReason, "");
|
||||
const expected = {
|
||||
warnings: 0,
|
||||
warningReason: ""
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done(); // pass
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -190,8 +214,11 @@ describe("getUserInfo", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.warnings, 1);
|
||||
assert.strictEqual(data.warningReason, "warning3-0");
|
||||
const expected = {
|
||||
warnings: 1,
|
||||
warningReason: "warning3-0"
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done(); // pass
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -515,7 +515,7 @@ describe("lockCategoriesRecords", () => {
|
|||
});
|
||||
|
||||
|
||||
it("Should be able to submit a segment to a video with a different no-segment record", (done: Done) => {
|
||||
it("Should be able to submit a segment to a video with a different no-segment record", (done: Done) => {
|
||||
fetch(`${getbaseURL()}/api/postVideoSponsorTimes`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import fetch from "node-fetch";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
||||
|
@ -44,7 +44,10 @@ describe("getVideoSponsorTime (Old get method)", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.UUIDs[0], "uuid-1");
|
||||
const expected = {
|
||||
UUIDs: ["uuid-1"],
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -55,9 +58,11 @@ describe("getVideoSponsorTime (Old get method)", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await res.json();
|
||||
assert.strictEqual(data.sponsorTimes[0][0], 1);
|
||||
assert.strictEqual(data.sponsorTimes[0][1], 11);
|
||||
assert.strictEqual(data.UUIDs[0], "uuid-0");
|
||||
const expected = {
|
||||
sponsorTimes: [[1, 11]],
|
||||
UUIDs: ["uuid-0"]
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import fetch from "node-fetch";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import assert from "assert";
|
||||
|
||||
|
@ -10,9 +10,12 @@ describe("postVideoSponsorTime (Old submission method)", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "category" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcQ"]);
|
||||
assert.strictEqual(row.startTime, 1);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
const expected = {
|
||||
startTime: 1,
|
||||
endTime: 10,
|
||||
category: "sponsor"
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -29,9 +32,12 @@ describe("postVideoSponsorTime (Old submission method)", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "category" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcE"]);
|
||||
assert.strictEqual(row.startTime, 1);
|
||||
assert.strictEqual(row.endTime, 11);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
const expected = {
|
||||
startTime: 1,
|
||||
endTime: 11,
|
||||
category: "sponsor"
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import fetch from "node-fetch";
|
||||
import {config} from "../../src/config";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {ImportMock} from "ts-mock-imports";
|
||||
import * as YouTubeAPIModule from "../../src/utils/youtubeApi";
|
||||
|
@ -65,9 +65,12 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "category" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcR"]);
|
||||
assert.strictEqual(row.startTime, 2);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
const expected = {
|
||||
startTime: 2,
|
||||
endTime: 10,
|
||||
category: "sponsor",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -91,10 +94,13 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcF"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
locked: 0,
|
||||
category: "sponsor",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -119,11 +125,13 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "actionType" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcV"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
assert.strictEqual(row.actionType, "mute");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
category: "sponsor",
|
||||
actionType: "mute",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -148,11 +156,13 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "videoDuration" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXZX"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
assert.strictEqual(row.videoDuration, 4980);
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
category: "sponsor",
|
||||
videoDuration: 4980,
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -177,11 +187,14 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "videoDuration" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXZH"]);
|
||||
assert.strictEqual(row.startTime, 1);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
assert.strictEqual(row.videoDuration, 4980.20);
|
||||
const expected = {
|
||||
startTime: 1,
|
||||
endTime: 10,
|
||||
locked: 0,
|
||||
category: "sponsor",
|
||||
videoDuration: 4980.20,
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -206,11 +219,14 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "videoDuration" FROM "sponsorTimes" WHERE "videoID" = ?`, ["noDuration"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
assert.strictEqual(row.videoDuration, 100);
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
locked: 0,
|
||||
category: "sponsor",
|
||||
videoDuration: 100,
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -240,17 +256,19 @@ describe("postSkipSegments", () => {
|
|||
const lockCategoriesRow = await db.prepare("get", `SELECT * from "lockCategories" WHERE videoID = ?`, ["noDuration"]);
|
||||
const videoRows = await db.prepare("all", `SELECT "startTime", "endTime", "locked", "category", "videoDuration"
|
||||
FROM "sponsorTimes" WHERE "videoID" = ? AND hidden = 0`, ["noDuration"]);
|
||||
const videoRow = videoRows[0];
|
||||
const hiddenVideoRows = await db.prepare("all", `SELECT "startTime", "endTime", "locked", "category", "videoDuration"
|
||||
FROM "sponsorTimes" WHERE "videoID" = ? AND hidden = 1`, ["noDuration"]);
|
||||
assert.ok(!lockCategoriesRow);
|
||||
const expected = {
|
||||
startTime: 1,
|
||||
endTime: 10,
|
||||
locked: 0,
|
||||
category: "sponsor",
|
||||
videoDuration: 100,
|
||||
};
|
||||
assert.ok(partialDeepEquals(videoRows[0], expected));
|
||||
assert.strictEqual(videoRows.length, 1);
|
||||
assert.strictEqual(hiddenVideoRows.length, 1);
|
||||
assert.strictEqual(videoRow.startTime, 1);
|
||||
assert.strictEqual(videoRow.endTime, 10);
|
||||
assert.strictEqual(videoRow.locked, 0);
|
||||
assert.strictEqual(videoRow.category, "sponsor");
|
||||
assert.strictEqual(videoRow.videoDuration, 100);
|
||||
} catch (e) {
|
||||
return e;
|
||||
}
|
||||
|
@ -287,11 +305,14 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "service" FROM "sponsorTimes" WHERE "videoID" = ?`, ["dQw4w9WgXcG"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 0);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
assert.strictEqual(row.service, "PeerTube");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
locked: 0,
|
||||
category: "sponsor",
|
||||
service: "PeerTube",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -315,10 +336,13 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category" FROM "sponsorTimes" WHERE "videoID" = ?`, ["vipuserIDSubmission"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.locked, 1);
|
||||
assert.strictEqual(row.category, "sponsor");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
locked: 1,
|
||||
category: "sponsor",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -865,9 +889,12 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "userAgent" FROM "sponsorTimes" WHERE "videoID" = ?`, ["userAgent-1"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.userAgent, "Vanced/5.0");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
userAgent: "Vanced/5.0",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -892,9 +919,12 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "userAgent" FROM "sponsorTimes" WHERE "videoID" = ?`, ["userAgent-3"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.userAgent, "");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
userAgent: "",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -919,9 +949,12 @@ describe("postSkipSegments", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "startTime", "endTime", "locked", "category", "userAgent" FROM "sponsorTimes" WHERE "videoID" = ?`, ["userAgent-4"]);
|
||||
assert.strictEqual(row.startTime, 0);
|
||||
assert.strictEqual(row.endTime, 10);
|
||||
assert.strictEqual(row.userAgent, "MeaBot/5.0");
|
||||
const expected = {
|
||||
startTime: 0,
|
||||
endTime: 10,
|
||||
userAgent: "MeaBot/5.0",
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import fetch from "node-fetch";
|
||||
import {Done, getbaseURL} from "../utils";
|
||||
import {Done, getbaseURL, partialDeepEquals} from "../utils";
|
||||
import {db} from "../../src/databases/databases";
|
||||
import {getHash} from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
@ -25,9 +25,12 @@ describe("postWarning", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "userID", "issueTime", "issuerUserID", enabled, "reason" FROM warnings WHERE "userID" = ?`, [json.userID]);
|
||||
assert.strictEqual(row.enabled, 1);
|
||||
assert.strictEqual(row.issuerUserID, getHash(json.issuerUserID));
|
||||
assert.strictEqual(row.reason, json.reason);
|
||||
const expected = {
|
||||
enabled: 1,
|
||||
issuerUserID: getHash(json.issuerUserID),
|
||||
reason: json.reason,
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -49,8 +52,11 @@ describe("postWarning", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 409);
|
||||
const row = await db.prepare("get", `SELECT "userID", "issueTime", "issuerUserID", enabled FROM warnings WHERE "userID" = ?`, [json.userID]);
|
||||
assert.strictEqual(row.enabled, 1);
|
||||
assert.strictEqual(row.issuerUserID, getHash(json.issuerUserID));
|
||||
const expected = {
|
||||
enabled: 1,
|
||||
issuerUserID: getHash(json.issuerUserID),
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -73,7 +79,10 @@ describe("postWarning", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const row = await db.prepare("get", `SELECT "userID", "issueTime", "issuerUserID", enabled FROM warnings WHERE "userID" = ?`, [json.userID]);
|
||||
assert.strictEqual(row.enabled, 0);
|
||||
const expected = {
|
||||
enabled: 0
|
||||
};
|
||||
assert.ok(partialDeepEquals(row, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
@ -130,7 +139,10 @@ describe("postWarning", () => {
|
|||
.then(async res => {
|
||||
assert.strictEqual(res.status, 200);
|
||||
const data = await db.prepare("get", `SELECT "userID", "issueTime", "issuerUserID", enabled FROM warnings WHERE "userID" = ?`, [json.userID]);
|
||||
assert.strictEqual(data.enabled, 1);
|
||||
const expected = {
|
||||
enabled: 1
|
||||
};
|
||||
assert.ok(partialDeepEquals(data, expected));
|
||||
done();
|
||||
})
|
||||
.catch(err => done(err));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import fetch from "node-fetch";
|
||||
import { Done, getbaseURL } from "../utils";
|
||||
import { Done, getbaseURL, partialDeepEquals } from "../utils";
|
||||
import { db, privateDB } from "../../src/databases/databases";
|
||||
import { getHash } from "../../src/utils/getHash";
|
||||
import assert from "assert";
|
||||
|
|
134
test/cases/testUtils.ts
Normal file
134
test/cases/testUtils.ts
Normal file
|
@ -0,0 +1,134 @@
|
|||
import assert from "assert";
|
||||
|
||||
import { partialDeepEquals } from "../utils";
|
||||
|
||||
describe("Test utils ", () => {
|
||||
it("objectContain", async () => {
|
||||
assert(partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true
|
||||
},
|
||||
{
|
||||
|
||||
}
|
||||
), "Did not match empty expect");
|
||||
assert(partialDeepEquals(
|
||||
[{a: [1,2,3]}, {a: [1,2]}],
|
||||
[{a: [1,2,3]}, {a: [1,2]}]
|
||||
), "Did not match same arrays");
|
||||
assert(partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true
|
||||
},
|
||||
{
|
||||
vip: true,
|
||||
old: 20
|
||||
}
|
||||
), "Did not match same partial properties");
|
||||
// do not match incorrect propeties
|
||||
assert(!partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true
|
||||
},
|
||||
{
|
||||
vip: false,
|
||||
old: 19
|
||||
}
|
||||
), "Matched different properties");
|
||||
// do not match missing property
|
||||
assert(!partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true
|
||||
},
|
||||
{
|
||||
vip: true,
|
||||
child: {
|
||||
name: ""
|
||||
}
|
||||
}
|
||||
));
|
||||
assert(!partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true,
|
||||
child: {
|
||||
name: "a"
|
||||
}
|
||||
},
|
||||
{
|
||||
vip: true,
|
||||
child: {
|
||||
name: ""
|
||||
}
|
||||
}
|
||||
), "Matched incorrect child property");
|
||||
assert(!partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true,
|
||||
child: {
|
||||
name: "a",
|
||||
child: {
|
||||
name: "a",
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
vip: true,
|
||||
child: {
|
||||
name: "a",
|
||||
child: {
|
||||
name: "b",
|
||||
}
|
||||
}
|
||||
}
|
||||
), "Matched incorrected 2-nested property");
|
||||
assert(partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
old: 20,
|
||||
vip: true,
|
||||
child: {
|
||||
name: "a",
|
||||
child: {
|
||||
name: "b",
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
vip: true,
|
||||
child: {
|
||||
name: "a",
|
||||
child: {
|
||||
name: "b",
|
||||
}
|
||||
}
|
||||
}
|
||||
), "Did not match exact child properties");
|
||||
assert(partialDeepEquals(
|
||||
{
|
||||
name: "John Wick",
|
||||
values: [{
|
||||
name: "a",
|
||||
}, {
|
||||
name: "b",
|
||||
}]
|
||||
},
|
||||
{
|
||||
values: [{
|
||||
name: "a",
|
||||
}]
|
||||
}
|
||||
), "Did not match partial child array");
|
||||
});
|
||||
});
|
|
@ -7,4 +7,20 @@ export function getbaseURL(): string {
|
|||
/**
|
||||
* Duplicated from Mocha types. TypeScript doesn't infer that type by itself for some reason.
|
||||
*/
|
||||
export type Done = (err?: any) => void;
|
||||
export type Done = (err?: any) => void;
|
||||
|
||||
/**
|
||||
*
|
||||
* Check object contains expected properties
|
||||
*/
|
||||
export const partialDeepEquals = (actual: Record<string, any>, expected: Record<string, any>): boolean => {
|
||||
// loop over key, value of expected
|
||||
for (const [ key, value ] of Object.entries(expected)) {
|
||||
// if value is object or array, recurse
|
||||
if (Array.isArray(value) || typeof value === "object") {
|
||||
if (!partialDeepEquals(actual?.[key], value)) return false;
|
||||
}
|
||||
else if (actual?.[key] !== value) return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue