+ })
+
+ it('Should delete a channel and put the associated playlist in private mode', async function () {
+ this.timeout(30000)
+
+ const res = await addVideoChannel(servers[0].url, servers[0].accessToken, { name: 'super_channel', displayName: 'super channel' })
+ const videoChannelId = res.body.videoChannel.id
+
+ const res2 = await createVideoPlaylist({
+ url: servers[0].url,
+ token: servers[0].accessToken,
+ playlistAttrs: {
+ displayName: 'channel playlist',
+ privacy: VideoPlaylistPrivacy.PUBLIC,
+ videoChannelId
+ }
+ })
+ const videoPlaylistUUID = res2.body.videoPlaylist.uuid
+
+ await waitJobs(servers)
+
+ await deleteVideoChannel(servers[0].url, servers[0].accessToken, 'super_channel')
+
+ await waitJobs(servers)
+
+ const res3 = await getVideoPlaylistWithToken(servers[0].url, servers[0].accessToken, videoPlaylistUUID)
+ expect(res3.body.displayName).to.equal('channel playlist')
+ expect(res3.body.privacy.id).to.equal(VideoPlaylistPrivacy.PRIVATE)
+
+ await getVideoPlaylist(servers[1].url, videoPlaylistUUID, HttpStatusCode.NOT_FOUND_404)
+ })
+
+ it('Should delete an account and delete its playlists', async function () {
+ this.timeout(30000)
+
+ const user = { username: 'user_1', password: 'password' }
+ const res = await createUser({
+ url: servers[0].url,
+ accessToken: servers[0].accessToken,
+ username: user.username,
+ password: user.password
+ })
+
+ const userId = res.body.user.id
+ const userAccessToken = await userLogin(servers[0], user)
+
+ const resChannel = await getMyUserInformation(servers[0].url, userAccessToken)
+ const userChannel = (resChannel.body as User).videoChannels[0]
+
+ await createVideoPlaylist({
+ url: servers[0].url,
+ token: userAccessToken,
+ playlistAttrs: {
+ displayName: 'playlist to be deleted',
+ privacy: VideoPlaylistPrivacy.PUBLIC,
+ videoChannelId: userChannel.id
+ }
+ })
+
+ await waitJobs(servers)
+
+ const finder = data => data.find(p => p.displayName === 'playlist to be deleted')
+
+ {
+ for (const server of [ servers[0], servers[1] ]) {
+ const res = await getVideoPlaylistsList(server.url, 0, 15)
+ expect(finder(res.body.data)).to.not.be.undefined
+ }
+ }
+
+ await removeUser(servers[0].url, userId, servers[0].accessToken)
+ await waitJobs(servers)
+
+ {
+ for (const server of [ servers[0], servers[1] ]) {
+ const res = await getVideoPlaylistsList(server.url, 0, 15)
+ expect(finder(res.body.data)).to.be.undefined
+ }
+ }
+ })