]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/check-params/videos-common-filters.ts
Improve remote runner config UX
[github/Chocobozzz/PeerTube.git] / server / tests / api / check-params / videos-common-filters.ts
index 11d9fd95bf800c831be9d4a884cb2af8fdb08893..3e44e2f674a3930eed57bfeb93a597172724cd74 100644 (file)
@@ -122,6 +122,8 @@ describe('Test video filters validators', function () {
       include?: VideoInclude
       privacyOneOf?: VideoPrivacy[]
       expectedStatus: HttpStatusCode
+      excludeAlreadyWatched?: boolean
+      unauthenticatedUser?: boolean
     }) {
       const paths = [
         '/api/v1/video-channels/root_channel/videos',
@@ -131,14 +133,19 @@ describe('Test video filters validators', function () {
       ]
 
       for (const path of paths) {
+        const token = options.unauthenticatedUser
+          ? undefined
+          : options.token || server.accessToken
+
         await makeGetRequest({
           url: server.url,
           path,
-          token: options.token || server.accessToken,
+          token,
           query: {
             isLocal: options.isLocal,
             privacyOneOf: options.privacyOneOf,
-            include: options.include
+            include: options.include,
+            excludeAlreadyWatched: options.excludeAlreadyWatched
           },
           expectedStatus: options.expectedStatus
         })
@@ -213,6 +220,14 @@ describe('Test video filters validators', function () {
         }
       })
     })
+
+    it('Should fail when trying to exclude already watched videos for an unlogged user', async function () {
+      await testEndpoints({ excludeAlreadyWatched: true, unauthenticatedUser: true, expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
+    })
+
+    it('Should succeed when trying to exclude already watched videos for a logged user', async function () {
+      await testEndpoints({ token: userAccessToken, excludeAlreadyWatched: true, expectedStatus: HttpStatusCode.OK_200 })
+    })
   })
 
   after(async function () {