]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tests/utils/users/accounts.ts
Only use account name in routes
[github/Chocobozzz/PeerTube.git] / server / tests / utils / users / accounts.ts
index 71712100e0db19db8bf2a93b63f606afb359bc67..30b3c54f8ec29b2c2cdc72e401968cb8ac1e34bd 100644 (file)
@@ -1,3 +1,11 @@
+/* tslint:disable:no-unused-expression */
+
+import { expect } from 'chai'
+import { existsSync } from 'fs'
+import { join } from 'path'
+import { Account } from '../../../../shared/models/actors'
+import { readdirPromise } from '../../../helpers/core-utils'
+import { root } from '../index'
 import { makeGetRequest } from '../requests/requests'
 
 function getAccountsList (url: string, sort = '-createdAt', statusCodeExpected = 200) {
@@ -11,8 +19,8 @@ function getAccountsList (url: string, sort = '-createdAt', statusCodeExpected =
   })
 }
 
-function getAccount (url: string, accountId: number | string, statusCodeExpected = 200) {
-  const path = '/api/v1/accounts/' + accountId
+function getAccount (url: string, accountName: string, statusCodeExpected = 200) {
+  const path = '/api/v1/accounts/' + accountName
 
   return makeGetRequest({
     url,
@@ -21,9 +29,36 @@ function getAccount (url: string, accountId: number | string, statusCodeExpected
   })
 }
 
+async function expectAccountFollows (url: string, nameWithDomain: string, followersCount: number, followingCount: number) {
+  const res = await getAccountsList(url)
+  const account = res.body.data.find((a: Account) => a.name + '@' + a.host === nameWithDomain)
+
+  const message = `${nameWithDomain} on ${url}`
+  expect(account.followersCount).to.equal(followersCount, message)
+  expect(account.followingCount).to.equal(followingCount, message)
+}
+
+async function checkActorFilesWereRemoved (actorUUID: string, serverNumber: number) {
+  const testDirectory = 'test' + serverNumber
+
+  for (const directory of [ 'avatars' ]) {
+    const directoryPath = join(root(), testDirectory, directory)
+
+    const directoryExists = existsSync(directoryPath)
+    expect(directoryExists).to.be.true
+
+    const files = await readdirPromise(directoryPath)
+    for (const file of files) {
+      expect(file).to.not.contain(actorUUID)
+    }
+  }
+}
+
 // ---------------------------------------------------------------------------
 
 export {
   getAccount,
-  getAccountsList
+  expectAccountFollows,
+  getAccountsList,
+  checkActorFilesWereRemoved
 }