]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/api/server/config-defaults.ts
feature/ability to disable video history by default (#5728)
[github/Chocobozzz/PeerTube.git] / server / tests / api / server / config-defaults.ts
index d3b3a24475ee16ad0c60b6ee373e5da37b59631c..041032f2bd0bf8dad4129f682930cfeb4c67af7d 100644 (file)
@@ -204,6 +204,84 @@ describe('Test config defaults', function () {
     })
   })
 
+  describe('Default user attributes', function () {
+    it('Should create a user and register a user with the default config', async function () {
+      await server.config.updateCustomSubConfig({
+        newConfig: {
+          user: {
+            history: {
+              videos: {
+                enabled: true
+              }
+            },
+            videoQuota : -1,
+            videoQuotaDaily: -1
+          },
+          signup: {
+            enabled: true,
+            requiresApproval: false
+          }
+        }
+      })
+
+      const config = await server.config.getConfig()
+
+      expect(config.user.videoQuota).to.equal(-1)
+      expect(config.user.videoQuotaDaily).to.equal(-1)
+
+      const user1Token = await server.users.generateUserAndToken('user1')
+      const user1 = await server.users.getMyInfo({ token: user1Token })
+
+      const user = { displayName: 'super user 2', username: 'user2', password: 'super password' }
+      const channel = { name: 'my_user_2_channel', displayName: 'my channel' }
+      await server.registrations.register({ ...user, channel })
+      const user2Token = await server.login.getAccessToken(user)
+      const user2 = await server.users.getMyInfo({ token: user2Token })
+
+      for (const user of [ user1, user2 ]) {
+        expect(user.videosHistoryEnabled).to.be.true
+        expect(user.videoQuota).to.equal(-1)
+        expect(user.videoQuotaDaily).to.equal(-1)
+      }
+    })
+
+    it('Should update config and create a user and register a user with the new default config', async function () {
+      await server.config.updateCustomSubConfig({
+        newConfig: {
+          user: {
+            history: {
+              videos: {
+                enabled: false
+              }
+            },
+            videoQuota : 5242881,
+            videoQuotaDaily: 318742
+          },
+          signup: {
+            enabled: true,
+            requiresApproval: false
+          }
+        }
+      })
+
+      const user3Token = await server.users.generateUserAndToken('user3')
+      const user3 = await server.users.getMyInfo({ token: user3Token })
+
+      const user = { displayName: 'super user 4', username: 'user4', password: 'super password' }
+      const channel = { name: 'my_user_4_channel', displayName: 'my channel' }
+      await server.registrations.register({ ...user, channel })
+      const user4Token = await server.login.getAccessToken(user)
+      const user4 = await server.users.getMyInfo({ token: user4Token })
+
+      for (const user of [ user3, user4 ]) {
+        expect(user.videosHistoryEnabled).to.be.false
+        expect(user.videoQuota).to.equal(5242881)
+        expect(user.videoQuotaDaily).to.equal(318742)
+      }
+    })
+
+  })
+
   after(async function () {
     await cleanupTests([ server ])
   })