mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2025-12-14 15:37:07 +03:00
188 lines
4.8 KiB
JavaScript
188 lines
4.8 KiB
JavaScript
var request = require('request');
|
|
|
|
var utils = require('../utils.js');
|
|
const getHash = require('../../src/utils/getHash.js');
|
|
|
|
var databases = require('../../src/databases/databases.js');
|
|
var db = databases.db;
|
|
|
|
describe('postNoSegments', () => {
|
|
before(() => {
|
|
db.exec("INSERT INTO vipUsers (userID) VALUES ('" + getHash("VIPUser-noSegments") + "')");
|
|
|
|
db.exec("INSERT INTO noSegments (userID, videoID, category) VALUES ('" + getHash("VIPUser-noSegments") + "', 'no-segments-video-id', 'sponsor')");
|
|
db.exec("INSERT INTO noSegments (userID, videoID, category) VALUES ('" + getHash("VIPUser-noSegments") + "', 'no-segments-video-id', 'intro')");
|
|
});
|
|
|
|
it('should update the database version when starting the application', (done) => {
|
|
let version = db.prepare('get', 'SELECT key, value FROM config where key = ?', ['version']).value;
|
|
if (version > 1) done();
|
|
else done('Version isn\'t greater that 1. Version is ' + version);
|
|
});
|
|
|
|
it('Should be able to submit categorys not in video', (done) => {
|
|
let json = {
|
|
videoID: 'no-segments-video-id',
|
|
userID: 'VIPUser-noSegments',
|
|
categorys: [
|
|
'outro',
|
|
'shilling',
|
|
'shilling',
|
|
'intro'
|
|
]
|
|
};
|
|
|
|
let expected = {
|
|
status: 200,
|
|
submitted: [
|
|
'outro',
|
|
'shilling'
|
|
]
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 200) {
|
|
if (JSON.stringify(body) === JSON.stringify(expected)) {
|
|
done();
|
|
} else {
|
|
done("Incorrect response: expected " + JSON.stringify(expected) + " got " + JSON.stringify(body));
|
|
}
|
|
} else {
|
|
console.log(body);
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 for missing params', (done) => {
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json: {}},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 for no categorys', (done) => {
|
|
let json = {
|
|
videoID: 'test',
|
|
userID: 'test',
|
|
categorys: []
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 for no userID', (done) => {
|
|
let json = {
|
|
videoID: 'test',
|
|
userID: null,
|
|
categorys: ['sponsor']
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 for no videoID', (done) => {
|
|
let json = {
|
|
videoID: null,
|
|
userID: 'test',
|
|
categorys: ['sponsor']
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 object categorys)', (done) => {
|
|
let json = {
|
|
videoID: 'test',
|
|
userID: 'test',
|
|
categorys: {}
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 400 bad format categorys', (done) => {
|
|
let json = {
|
|
videoID: 'test',
|
|
userID: 'test',
|
|
categorys: 'sponsor'
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 400) {
|
|
done()
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
|
|
it('Should return 403 if user is not VIP', (done) => {
|
|
let json = {
|
|
videoID: 'test',
|
|
userID: 'test',
|
|
categorys: [
|
|
'sponsor'
|
|
]
|
|
};
|
|
|
|
request.post(utils.getbaseURL()
|
|
+ "/api/postNoSegments", {json},
|
|
(err, res, body) => {
|
|
if (err) done(err);
|
|
else if (res.statusCode === 403) {
|
|
done();
|
|
} else {
|
|
done("Status code was " + res.statusCode);
|
|
}
|
|
});
|
|
});
|
|
}); |