Skip to content

Commit 67eb165

Browse files
committed
getSearchSegments tests
1 parent d163b1d commit 67eb165

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed

test/cases/getSearchSegments.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,67 @@ describe("getSearchSegments", () => {
8080
.catch(err => done(err));
8181
});
8282

83+
it("Should be able to filter by category with categories string", (done) => {
84+
client.get(endpoint, { params: { videoID: "searchTest0", categories: `["selfpromo"]` } })
85+
.then(res => {
86+
assert.strictEqual(res.status, 200);
87+
const data = res.data;
88+
const segments = data.segments;
89+
assert.strictEqual(data.segmentCount, 1);
90+
assert.strictEqual(data.page, 0);
91+
assert.strictEqual(segments[0].UUID, "search-downvote");
92+
done();
93+
})
94+
.catch(err => done(err));
95+
});
96+
97+
it("Should be able to filter by category with categories array", (done) => {
98+
client.get(endpoint, { params: { videoID: "searchTest0", category: ["selfpromo"] } })
99+
.then(res => {
100+
assert.strictEqual(res.status, 200);
101+
const data = res.data;
102+
const segments = data.segments;
103+
assert.strictEqual(data.segmentCount, 1);
104+
assert.strictEqual(data.page, 0);
105+
assert.strictEqual(segments[0].UUID, "search-downvote");
106+
done();
107+
})
108+
.catch(err => done(err));
109+
});
110+
111+
it("Should be able to filter by category with actionTypes JSON", (done) => {
112+
client.get(endpoint, { params: { videoID: "searchTest5", actionTypes: `["mute"]` } })
113+
.then(res => {
114+
assert.strictEqual(res.status, 200);
115+
const data = res.data;
116+
assert.strictEqual(data.segmentCount, 1);
117+
done();
118+
})
119+
.catch(err => done(err));
120+
});
121+
122+
it("Should be able to filter by category with actionType array", (done) => {
123+
client.get(endpoint, { params: { videoID: "searchTest5", actionType: ["mute"] } })
124+
.then(res => {
125+
assert.strictEqual(res.status, 200);
126+
const data = res.data;
127+
assert.strictEqual(data.segmentCount, 1);
128+
done();
129+
})
130+
.catch(err => done(err));
131+
});
132+
133+
it("Should be able to filter by category with actionType string", (done) => {
134+
client.get(endpoint, { params: { videoID: "searchTest5", actionType: "mute" } })
135+
.then(res => {
136+
assert.strictEqual(res.status, 200);
137+
const data = res.data;
138+
assert.strictEqual(data.segmentCount, 1);
139+
done();
140+
})
141+
.catch(err => done(err));
142+
});
143+
83144
it("Should be able to filter by lock status", (done) => {
84145
client.get(endpoint, { params: { videoID: "searchTest0", locked: false } })
85146
.then(res => {

test/cases/getSearchSegments4xx.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { client } from "../utils/httpClient";
2+
import assert from "assert";
3+
4+
describe("getSearchSegments 4xx", () => {
5+
const endpoint = "/api/searchSegments";
6+
7+
it("Should return 400 if no videoID", (done) => {
8+
client.get(endpoint, { params: {} })
9+
.then(res => {
10+
assert.strictEqual(res.status, 400);
11+
const data = res.data;
12+
assert.strictEqual(data, "videoID not specified");
13+
done();
14+
})
15+
.catch(err => done(err));
16+
});
17+
18+
it("Should return 400 if invalid categories", (done) => {
19+
client.get(endpoint, { params: { videoID: "nullVideo", categories: 3 } })
20+
.then(res => {
21+
assert.strictEqual(res.status, 400);
22+
const data = res.data;
23+
assert.strictEqual(data, "Categories parameter does not match format requirements.");
24+
done();
25+
})
26+
.catch(err => done(err));
27+
});
28+
29+
it("Should return 400 if invalid actionTypes", (done) => {
30+
client.get(endpoint, { params: { videoID: "nullVideo", actionTypes: 3 } })
31+
.then(res => {
32+
assert.strictEqual(res.status, 400);
33+
const data = res.data;
34+
assert.strictEqual(data, "actionTypes parameter does not match format requirements.");
35+
done();
36+
})
37+
.catch(err => done(err));
38+
});
39+
40+
it("Should return 404 if no segments", (done) => {
41+
client.get(endpoint, { params: { videoID: "nullVideo", actionType: "chapter" } })
42+
.then(res => {
43+
assert.strictEqual(res.status, 404);
44+
done();
45+
})
46+
.catch(err => done(err));
47+
});
48+
});

0 commit comments

Comments
 (0)