]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix my videos total counter
authorChocobozzz <me@florianbigard.com>
Tue, 24 May 2022 07:16:42 +0000 (09:16 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 24 May 2022 07:16:42 +0000 (09:16 +0200)
server/models/video/video.ts
server/tests/api/users/users.ts

index d216ed47dd9051d4bb050a7d3eab28a9b8165267..e6a8d3f9550475a3f7a13aa249eeca31194658b0 100644 (file)
@@ -972,7 +972,7 @@ export class VideoModel extends Model<Partial<AttributesOnly<VideoModel>>> {
   }) {
     const { accountId, channelId, start, count, sort, search, isLive } = options
 
-    function buildBaseQuery (): FindOptions {
+    function buildBaseQuery (forCount: boolean): FindOptions {
       const where: WhereOptions = {}
 
       if (search) {
@@ -1001,7 +1001,9 @@ export class VideoModel extends Model<Partial<AttributesOnly<VideoModel>>> {
             where: channelWhere,
             include: [
               {
-                model: AccountModel,
+                model: forCount
+                  ? AccountModel.unscoped()
+                  : AccountModel,
                 where: {
                   id: accountId
                 },
@@ -1015,8 +1017,8 @@ export class VideoModel extends Model<Partial<AttributesOnly<VideoModel>>> {
       return baseQuery
     }
 
-    const countQuery = buildBaseQuery()
-    const findQuery = buildBaseQuery()
+    const countQuery = buildBaseQuery(true)
+    const findQuery = buildBaseQuery(false)
 
     const findScopes: (string | ScopeOptions)[] = [
       ScopeNames.WITH_SCHEDULED_UPDATE,
index a47713bf02fb1d6c8a6bc60dff435aa6669bafd9..01b4c2eab1872f8bde89e31a4e6444ad0ce57e4c 100644 (file)
@@ -622,6 +622,13 @@ describe('Test users', function () {
       }
     })
 
+    it('Should still have the same amount of videos in my account', async function () {
+      const { total, data } = await server.videos.listMyVideos({ token: userToken })
+
+      expect(total).to.equal(2)
+      expect(data).to.have.lengthOf(2)
+    })
+
     it('Should be able to update my display name', async function () {
       await server.users.updateMe({ token: userToken, displayName: 'new display name' })