]>
Commit | Line | Data |
---|---|---|
a1587156 | 1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ |
f05a1c30 | 2 | |
32b2b43c | 3 | import { expect } from 'chai' |
9fff08cf | 4 | import { pathExists, readdir } from 'fs-extra' |
f05a1c30 | 5 | import { join } from 'path' |
9fff08cf | 6 | import { root } from '@server/helpers/core-utils' |
4d029ef8 | 7 | import { Account, VideoChannel } from '@shared/models' |
254d3579 | 8 | import { PeerTubeServer } from '../server' |
9fff08cf | 9 | |
4d029ef8 | 10 | async function expectChannelsFollows (options: { |
254d3579 | 11 | server: PeerTubeServer |
9fff08cf C |
12 | handle: string |
13 | followers: number | |
14 | following: number | |
15 | }) { | |
4d029ef8 C |
16 | const { server } = options |
17 | const { data } = await server.channels.list() | |
9fff08cf | 18 | |
4d029ef8 C |
19 | return expectActorFollow({ ...options, data }) |
20 | } | |
9fff08cf | 21 | |
4d029ef8 C |
22 | async function expectAccountFollows (options: { |
23 | server: PeerTubeServer | |
24 | handle: string | |
25 | followers: number | |
26 | following: number | |
27 | }) { | |
28 | const { server } = options | |
29 | const { data } = await server.accounts.list() | |
30 | ||
31 | return expectActorFollow({ ...options, data }) | |
32b2b43c C |
32 | } |
33 | ||
57cfff78 | 34 | async function checkActorFilesWereRemoved (filename: string, serverNumber: number) { |
f05a1c30 C |
35 | const testDirectory = 'test' + serverNumber |
36 | ||
37 | for (const directory of [ 'avatars' ]) { | |
38 | const directoryPath = join(root(), testDirectory, directory) | |
39 | ||
9fff08cf | 40 | const directoryExists = await pathExists(directoryPath) |
f05a1c30 C |
41 | expect(directoryExists).to.be.true |
42 | ||
62689b94 | 43 | const files = await readdir(directoryPath) |
f05a1c30 | 44 | for (const file of files) { |
57cfff78 | 45 | expect(file).to.not.contain(filename) |
f05a1c30 C |
46 | } |
47 | } | |
48 | } | |
49 | ||
265ba139 | 50 | export { |
32b2b43c | 51 | expectAccountFollows, |
4d029ef8 | 52 | expectChannelsFollows, |
9fff08cf | 53 | checkActorFilesWereRemoved |
265ba139 | 54 | } |
4d029ef8 C |
55 | |
56 | // --------------------------------------------------------------------------- | |
57 | ||
58 | function expectActorFollow (options: { | |
59 | server: PeerTubeServer | |
60 | data: (Account | VideoChannel)[] | |
61 | handle: string | |
62 | followers: number | |
63 | following: number | |
64 | }) { | |
65 | const { server, data, handle, followers, following } = options | |
66 | ||
67 | const actor = data.find(a => a.name + '@' + a.host === handle) | |
68 | const message = `${handle} on ${server.url}` | |
69 | ||
70 | expect(actor, message).to.exist | |
71 | expect(actor.followersCount).to.equal(followers, message) | |
72 | expect(actor.followingCount).to.equal(following, message) | |
73 | } |