]>
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' |
4d029ef8 | 5 | import { Account, VideoChannel } from '@shared/models' |
c55e3d72 | 6 | import { PeerTubeServer } from '@shared/server-commands' |
9fff08cf | 7 | |
4d029ef8 | 8 | async function expectChannelsFollows (options: { |
254d3579 | 9 | server: PeerTubeServer |
9fff08cf C |
10 | handle: string |
11 | followers: number | |
12 | following: number | |
13 | }) { | |
4d029ef8 C |
14 | const { server } = options |
15 | const { data } = await server.channels.list() | |
9fff08cf | 16 | |
4d029ef8 C |
17 | return expectActorFollow({ ...options, data }) |
18 | } | |
9fff08cf | 19 | |
4d029ef8 C |
20 | async function expectAccountFollows (options: { |
21 | server: PeerTubeServer | |
22 | handle: string | |
23 | followers: number | |
24 | following: number | |
25 | }) { | |
26 | const { server } = options | |
27 | const { data } = await server.accounts.list() | |
28 | ||
29 | return expectActorFollow({ ...options, data }) | |
32b2b43c C |
30 | } |
31 | ||
6c5f0d3a | 32 | async function checkActorFilesWereRemoved (filename: string, server: PeerTubeServer) { |
f05a1c30 | 33 | for (const directory of [ 'avatars' ]) { |
6c5f0d3a | 34 | const directoryPath = server.getDirectoryPath(directory) |
f05a1c30 | 35 | |
9fff08cf | 36 | const directoryExists = await pathExists(directoryPath) |
f05a1c30 C |
37 | expect(directoryExists).to.be.true |
38 | ||
62689b94 | 39 | const files = await readdir(directoryPath) |
f05a1c30 | 40 | for (const file of files) { |
57cfff78 | 41 | expect(file).to.not.contain(filename) |
f05a1c30 C |
42 | } |
43 | } | |
44 | } | |
45 | ||
265ba139 | 46 | export { |
32b2b43c | 47 | expectAccountFollows, |
4d029ef8 | 48 | expectChannelsFollows, |
9fff08cf | 49 | checkActorFilesWereRemoved |
265ba139 | 50 | } |
4d029ef8 C |
51 | |
52 | // --------------------------------------------------------------------------- | |
53 | ||
54 | function expectActorFollow (options: { | |
55 | server: PeerTubeServer | |
56 | data: (Account | VideoChannel)[] | |
57 | handle: string | |
58 | followers: number | |
59 | following: number | |
60 | }) { | |
61 | const { server, data, handle, followers, following } = options | |
62 | ||
63 | const actor = data.find(a => a.name + '@' + a.host === handle) | |
64 | const message = `${handle} on ${server.url}` | |
65 | ||
66 | expect(actor, message).to.exist | |
67 | expect(actor.followersCount).to.equal(followers, message) | |
68 | expect(actor.followingCount).to.equal(following, message) | |
69 | } |