aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tests/api/checkParams.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/tests/api/checkParams.js')
-rw-r--r--server/tests/api/checkParams.js104
1 files changed, 95 insertions, 9 deletions
diff --git a/server/tests/api/checkParams.js b/server/tests/api/checkParams.js
index e02fd0da5..95a7738f8 100644
--- a/server/tests/api/checkParams.js
+++ b/server/tests/api/checkParams.js
@@ -23,7 +23,14 @@ describe('Test parameters validator', function () {
23 23
24 Object.keys(fields).forEach(function (field) { 24 Object.keys(fields).forEach(function (field) {
25 const value = fields[field] 25 const value = fields[field]
26 req.field(field, value) 26
27 if (Array.isArray(value)) {
28 for (let i = 0; i < value.length; i++) {
29 req.field(field + '[' + i + ']', value[i])
30 }
31 } else {
32 req.field(field, value)
33 }
27 }) 34 })
28 35
29 Object.keys(attaches).forEach(function (attach) { 36 Object.keys(attaches).forEach(function (attach) {
@@ -198,7 +205,8 @@ describe('Test parameters validator', function () {
198 205
199 it('Should fail without name', function (done) { 206 it('Should fail without name', function (done) {
200 const data = { 207 const data = {
201 description: 'my super description' 208 description: 'my super description',
209 tags: [ 'tag1', 'tag2' ]
202 } 210 }
203 const attach = { 211 const attach = {
204 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm') 212 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
@@ -209,7 +217,8 @@ describe('Test parameters validator', function () {
209 it('Should fail with a long name', function (done) { 217 it('Should fail with a long name', function (done) {
210 const data = { 218 const data = {
211 name: 'My very very very very very very very very very very very very very very very very long name', 219 name: 'My very very very very very very very very very very very very very very very very long name',
212 description: 'my super description' 220 description: 'my super description',
221 tags: [ 'tag1', 'tag2' ]
213 } 222 }
214 const attach = { 223 const attach = {
215 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm') 224 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
@@ -219,7 +228,8 @@ describe('Test parameters validator', function () {
219 228
220 it('Should fail without description', function (done) { 229 it('Should fail without description', function (done) {
221 const data = { 230 const data = {
222 name: 'my super name' 231 name: 'my super name',
232 tags: [ 'tag1', 'tag2' ]
223 } 233 }
224 const attach = { 234 const attach = {
225 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm') 235 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
@@ -232,7 +242,8 @@ describe('Test parameters validator', function () {
232 name: 'my super name', 242 name: 'my super name',
233 description: 'my super description which is very very very very very very very very very very very very very very' + 243 description: 'my super description which is very very very very very very very very very very very very very very' +
234 'very very very very very very very very very very very very very very very very very very very very very' + 244 'very very very very very very very very very very very very very very very very very very very very very' +
235 'very very very very very very very very very very very very very very very long' 245 'very very very very very very very very very very very very very very very long',
246 tags: [ 'tag1', 'tag2' ]
236 } 247 }
237 const attach = { 248 const attach = {
238 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm') 249 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
@@ -240,11 +251,83 @@ describe('Test parameters validator', function () {
240 makePostRequest(path, server.accessToken, data, attach, done) 251 makePostRequest(path, server.accessToken, data, attach, done)
241 }) 252 })
242 253
243 it('Should fail without an input file', function (done) { 254 it('Should fail without tags', function (done) {
244 const data = { 255 const data = {
245 name: 'my super name', 256 name: 'my super name',
246 description: 'my super description' 257 description: 'my super description'
247 } 258 }
259 const attach = {
260 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
261 }
262 makePostRequest(path, server.accessToken, data, attach, done)
263 })
264
265 it('Should fail with too many tags', function (done) {
266 const data = {
267 name: 'my super name',
268 description: 'my super description',
269 tags: [ 'tag1', 'tag2', 'tag3', 'tag4' ]
270 }
271 const attach = {
272 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
273 }
274 makePostRequest(path, server.accessToken, data, attach, done)
275 })
276
277 it('Should fail with not enough tags', function (done) {
278 const data = {
279 name: 'my super name',
280 description: 'my super description',
281 tags: [ ]
282 }
283 const attach = {
284 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
285 }
286 makePostRequest(path, server.accessToken, data, attach, done)
287 })
288
289 it('Should fail with a tag length too low', function (done) {
290 const data = {
291 name: 'my super name',
292 description: 'my super description',
293 tags: [ 'tag1', 't' ]
294 }
295 const attach = {
296 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
297 }
298 makePostRequest(path, server.accessToken, data, attach, done)
299 })
300
301 it('Should fail with a tag length too big', function (done) {
302 const data = {
303 name: 'my super name',
304 description: 'my super description',
305 tags: [ 'mysupertagtoolong', 'tag1' ]
306 }
307 const attach = {
308 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
309 }
310 makePostRequest(path, server.accessToken, data, attach, done)
311 })
312
313 it('Should fail with malformed tags', function (done) {
314 const data = {
315 name: 'my super name',
316 description: 'my super description',
317 tags: [ 'my tag' ]
318 }
319 const attach = {
320 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')
321 }
322 makePostRequest(path, server.accessToken, data, attach, done)
323 })
324
325 it('Should fail without an input file', function (done) {
326 const data = {
327 name: 'my super name',
328 description: 'my super description',
329 tags: [ 'tag1', 'tag2' ]
330 }
248 const attach = {} 331 const attach = {}
249 makePostRequest(path, server.accessToken, data, attach, done) 332 makePostRequest(path, server.accessToken, data, attach, done)
250 }) 333 })
@@ -252,7 +335,8 @@ describe('Test parameters validator', function () {
252 it('Should fail without an incorrect input file', function (done) { 335 it('Should fail without an incorrect input file', function (done) {
253 const data = { 336 const data = {
254 name: 'my super name', 337 name: 'my super name',
255 description: 'my super description' 338 description: 'my super description',
339 tags: [ 'tag1', 'tag2' ]
256 } 340 }
257 const attach = { 341 const attach = {
258 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short_fake.webm') 342 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short_fake.webm')
@@ -263,7 +347,8 @@ describe('Test parameters validator', function () {
263 it('Should fail with a too big duration', function (done) { 347 it('Should fail with a too big duration', function (done) {
264 const data = { 348 const data = {
265 name: 'my super name', 349 name: 'my super name',
266 description: 'my super description' 350 description: 'my super description',
351 tags: [ 'tag1', 'tag2' ]
267 } 352 }
268 const attach = { 353 const attach = {
269 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_too_long.webm') 354 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_too_long.webm')
@@ -274,7 +359,8 @@ describe('Test parameters validator', function () {
274 it('Should succeed with the correct parameters', function (done) { 359 it('Should succeed with the correct parameters', function (done) {
275 const data = { 360 const data = {
276 name: 'my super name', 361 name: 'my super name',
277 description: 'my super description' 362 description: 'my super description',
363 tags: [ 'tag1', 'tag2' ]
278 } 364 }
279 const attach = { 365 const attach = {
280 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm') 366 'videofile': pathUtils.join(__dirname, 'fixtures', 'video_short.webm')