Added JSON get test cases

This commit is contained in:
Ajay Ramachandran
2020-04-07 02:39:29 -04:00
parent 57cc4f698f
commit d331ece0be

View File

@@ -22,11 +22,13 @@ describe('getSkipSegments', () => {
db.exec("INSERT INTO sponsorTimes VALUES ('testtesttest', 20, 33, 2, '1-uuid-2', 'testman', 0, 50, 'intro', 0)"); db.exec("INSERT INTO sponsorTimes VALUES ('testtesttest', 20, 33, 2, '1-uuid-2', 'testman', 0, 50, 'intro', 0)");
db.exec("INSERT INTO sponsorTimes VALUES ('testtesttest,test', 1, 11, 2, '1-uuid-1', 'testman', 0, 50, 'sponsor', 0)"); db.exec("INSERT INTO sponsorTimes VALUES ('testtesttest,test', 1, 11, 2, '1-uuid-1', 'testman', 0, 50, 'sponsor', 0)");
db.exec("INSERT INTO sponsorTimes VALUES ('test3', 1, 11, 2, '1-uuid-4', 'testman', 0, 50, 'sponsor', 0)"); db.exec("INSERT INTO sponsorTimes VALUES ('test3', 1, 11, 2, '1-uuid-4', 'testman', 0, 50, 'sponsor', 0)");
db.exec("INSERT INTO sponsorTimes VALUES ('test3', 1, 11, 2, '1-uuid-5', 'testman', 0, 50, 'sponsor', 0)"); db.exec("INSERT INTO sponsorTimes VALUES ('test3', 7, 22, -3, '1-uuid-5', 'testman', 0, 50, 'sponsor', 0)");
db.exec("INSERT INTO sponsorTimes VALUES ('multiple', 1, 11, 2, '1-uuid-6', 'testman', 0, 50, 'intro', 0)");
db.exec("INSERT INTO sponsorTimes VALUES ('multiple', 20, 33, 2, '1-uuid-7', 'testman', 0, 50, 'intro', 0)");
}); });
it('Should be able to get a time by category', (done) => { it('Should be able to get a time by category (Query Method) 1', (done) => {
request.get(utils.getbaseURL() request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&category=sponsor", null, + "/api/skipSegments?videoID=testtesttest&category=sponsor", null,
(err, res, body) => { (err, res, body) => {
@@ -44,6 +46,105 @@ describe('getSkipSegments', () => {
}); });
}); });
it('Should be able to get a time by category (Query Method) 2', (done) => {
request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&category=intro", null,
(err, res, body) => {
if (err) done("Couldn't call endpoint");
else if (res.statusCode !== 200) done("Status code was: " + res.statusCode);
else {
let data = JSON.parse(res.body);
if (data.length === 1 && data[0].segment[0] === 20 && data[0].segment[1] === 33
&& data[0].category === "intro" && data[0].UUID === "1-uuid-2") {
done();
} else {
done("Received incorrect body: " + res.body);
}
}
});
});
it('Should be able to get a time by category (JSON Method) 1', (done) => {
request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&category=sponsor", {
json: {
videoID: "testtesttest",
categories: ["sponsor"]
}
},
(err, res, body) => {
if (err) done("Couldn't call endpoint");
else if (res.statusCode !== 200) done("Status code was: " + res.statusCode);
else {
let data = res.body;
if (data.length === 1 && data[0].segment[0] === 1 && data[0].segment[1] === 11
&& data[0].category === "sponsor" && data[0].UUID === "1-uuid-0") {
done();
} else {
done("Received incorrect body: " + JSON.stringify(res.body));
}
}
});
});
it('Should be able to get a time by category (JSON Method) 2', (done) => {
request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&category=sponsor", {
json: {
videoID: "testtesttest",
categories: ["intro"]
}
},
(err, res, body) => {
if (err) done("Couldn't call endpoint");
else if (res.statusCode !== 200) done("Status code was: " + res.statusCode);
else {
let data = res.body;
if (data.length === 1 && data[0].segment[0] === 20 && data[0].segment[1] === 33
&& data[0].category === "intro" && data[0].UUID === "1-uuid-2") {
done();
} else {
done("Received incorrect body: " + JSON.stringify(res.body));
}
}
});
});
it('Should be able to get multiple times by category (JSON Method) 1', (done) => {
request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&category=sponsor", {
json: {
videoID: "multiple",
categories: ["intro"]
}
},
(err, res, body) => {
if (err) done("Couldn't call endpoint");
else if (res.statusCode !== 200) done("Status code was: " + res.statusCode);
else {
let data = res.body;
if (data.length === 2) {
let success = true;
for (const segment of data) {
if ((segment.segment[0] !== 20 || segment.segment[1] !== 33
|| segment.category !== "intro" || segment.UUID !== "1-uuid-7") &&
(segment.segment[0] !== 1 || segment.segment[1] !== 11
|| segment.category !== "intro" || segment.UUID !== "1-uuid-6")) {
success = false;
break;
}
}
if (success) done();
else done("Received incorrect body: " + JSON.stringify(res.body));
} else {
done("Received incorrect body: " + JSON.stringify(res.body));
}
}
});
});
it('Should be possible to send unexpected query parameters', (done) => { it('Should be possible to send unexpected query parameters', (done) => {
request.get(utils.getbaseURL() request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=testtesttest&fakeparam=hello&category=sponsor", null, + "/api/skipSegments?videoID=testtesttest&fakeparam=hello&category=sponsor", null,
@@ -62,6 +163,24 @@ describe('getSkipSegments', () => {
}); });
}); });
it('Low voted submissions should be hidden', (done) => {
request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=test3&category=sponsor", null,
(err, res, body) => {
if (err) done("Couldn't call endpoint");
else if (res.statusCode !== 200) done("Status code was: " + res.statusCode);
else {
let data = JSON.parse(res.body);
if (data.length === 1 && data[0].segment[0] === 1 && data[0].segment[1] === 11
&& data[0].category === "sponsor" && data[0].UUID === "1-uuid-4") {
done();
} else {
done("Received incorrect body: " + res.body);
}
}
});
});
it('Should return 404 if no segment found', (done) => { it('Should return 404 if no segment found', (done) => {
request.get(utils.getbaseURL() request.get(utils.getbaseURL()
+ "/api/skipSegments?videoID=notarealvideo", null, + "/api/skipSegments?videoID=notarealvideo", null,