diff options
author | kontrollanten <6680299+kontrollanten@users.noreply.github.com> | 2022-02-15 08:24:22 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2022-02-28 10:56:37 +0100 |
commit | c5ca7e1e0c735d1e658f9ef524a61d19f6a50fea (patch) | |
tree | 84c83e4ca9d7950ee2b5edad8b76dc7d5ab31031 /server/tests | |
parent | c729caf6cc34630877a0e5a1bda1719384cd0c8a (diff) | |
download | PeerTube-c5ca7e1e0c735d1e658f9ef524a61d19f6a50fea.tar.gz PeerTube-c5ca7e1e0c735d1e658f9ef524a61d19f6a50fea.tar.zst PeerTube-c5ca7e1e0c735d1e658f9ef524a61d19f6a50fea.zip |
add filter:api.video-playlist.videos.list.* hooks
closes #4775
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/fixtures/peertube-plugin-test/main.js | 10 | ||||
-rw-r--r-- | server/tests/plugins/filter-hooks.ts | 34 |
2 files changed, 43 insertions, 1 deletions
diff --git a/server/tests/fixtures/peertube-plugin-test/main.js b/server/tests/fixtures/peertube-plugin-test/main.js index 90951d611..7715ab6e8 100644 --- a/server/tests/fixtures/peertube-plugin-test/main.js +++ b/server/tests/fixtures/peertube-plugin-test/main.js | |||
@@ -45,6 +45,16 @@ async function register ({ registerHook, registerSetting, settingsManager, stora | |||
45 | }) | 45 | }) |
46 | 46 | ||
47 | registerHook({ | 47 | registerHook({ |
48 | target: 'filter:api.video-playlist.videos.list.params', | ||
49 | handler: obj => addToCount(obj) | ||
50 | }) | ||
51 | |||
52 | registerHook({ | ||
53 | target: 'filter:api.video-playlist.videos.list.result', | ||
54 | handler: obj => addToTotal(obj) | ||
55 | }) | ||
56 | |||
57 | registerHook({ | ||
48 | target: 'filter:api.accounts.videos.list.params', | 58 | target: 'filter:api.accounts.videos.list.params', |
49 | handler: obj => addToCount(obj) | 59 | handler: obj => addToCount(obj) |
50 | }) | 60 | }) |
diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts index 7adfc1277..e0f25ca26 100644 --- a/server/tests/plugins/filter-hooks.ts +++ b/server/tests/plugins/filter-hooks.ts | |||
@@ -22,6 +22,7 @@ describe('Test plugin filter hooks', function () { | |||
22 | let servers: PeerTubeServer[] | 22 | let servers: PeerTubeServer[] |
23 | let videoUUID: string | 23 | let videoUUID: string |
24 | let threadId: number | 24 | let threadId: number |
25 | let videoPlaylistUUID: string | ||
25 | 26 | ||
26 | before(async function () { | 27 | before(async function () { |
27 | this.timeout(60000) | 28 | this.timeout(60000) |
@@ -33,9 +34,20 @@ describe('Test plugin filter hooks', function () { | |||
33 | 34 | ||
34 | await servers[0].plugins.install({ path: PluginsCommand.getPluginTestPath() }) | 35 | await servers[0].plugins.install({ path: PluginsCommand.getPluginTestPath() }) |
35 | await servers[0].plugins.install({ path: PluginsCommand.getPluginTestPath('-filter-translations') }) | 36 | await servers[0].plugins.install({ path: PluginsCommand.getPluginTestPath('-filter-translations') }) |
37 | { | ||
38 | ({ uuid: videoPlaylistUUID } = await servers[0].playlists.create({ | ||
39 | attributes: { | ||
40 | displayName: 'my super playlist', | ||
41 | privacy: VideoPlaylistPrivacy.PUBLIC, | ||
42 | description: 'my super description', | ||
43 | videoChannelId: servers[0].store.channel.id | ||
44 | } | ||
45 | })) | ||
46 | } | ||
36 | 47 | ||
37 | for (let i = 0; i < 10; i++) { | 48 | for (let i = 0; i < 10; i++) { |
38 | await servers[0].videos.upload({ attributes: { name: 'default video ' + i } }) | 49 | const video = await servers[0].videos.upload({ attributes: { name: 'default video ' + i } }) |
50 | await servers[0].playlists.addElement({ playlistId: videoPlaylistUUID, attributes: { videoId: video.id } }) | ||
39 | } | 51 | } |
40 | 52 | ||
41 | const { data } = await servers[0].videos.list() | 53 | const { data } = await servers[0].videos.list() |
@@ -69,6 +81,26 @@ describe('Test plugin filter hooks', function () { | |||
69 | expect(total).to.equal(11) | 81 | expect(total).to.equal(11) |
70 | }) | 82 | }) |
71 | 83 | ||
84 | it('Should run filter:api.video-playlist.videos.list.params', async function () { | ||
85 | const { data } = await servers[0].playlists.listVideos({ | ||
86 | count: 2, | ||
87 | playlistId: videoPlaylistUUID | ||
88 | }) | ||
89 | |||
90 | // 1 plugin do +1 to the count parameter | ||
91 | expect(data).to.have.lengthOf(3) | ||
92 | }) | ||
93 | |||
94 | it('Should run filter:api.video-playlist.videos.list.result', async function () { | ||
95 | const { total } = await servers[0].playlists.listVideos({ | ||
96 | count: 0, | ||
97 | playlistId: videoPlaylistUUID | ||
98 | }) | ||
99 | |||
100 | // Plugin do +1 to the total result | ||
101 | expect(total).to.equal(11) | ||
102 | }) | ||
103 | |||
72 | it('Should run filter:api.accounts.videos.list.params', async function () { | 104 | it('Should run filter:api.accounts.videos.list.params', async function () { |
73 | const { data } = await servers[0].videos.listByAccount({ handle: 'root', start: 0, count: 2 }) | 105 | const { data } = await servers[0].videos.listByAccount({ handle: 'root', start: 0, count: 2 }) |
74 | 106 | ||