import 'mocha'
import { User, UserRole } from '../../../../shared/index'
import {
- createUser, flushTests, getBlacklistedVideosList, getMyUserInformation, getMyUserVideoQuotaUsed, getMyUserVideoRating,
- getUserInformation, getUsersList, getUsersListPaginationAndSort, getVideosList, killallServers, login, makePutBodyRequest, rateVideo,
- registerUser, removeUser, removeVideo, runServer, ServerInfo, testImage, updateMyAvatar, updateMyUser, updateUser, uploadVideo, userLogin,
- deleteMe, blockUser, unblockUser, updateCustomSubConfig
-} from '../../utils/index'
-import { follow } from '../../utils/server/follows'
-import { setAccessTokensToServers } from '../../utils/users/login'
-import { getMyVideos } from '../../utils/videos/videos'
+ blockUser,
+ createUser,
+ deleteMe,
+ flushTests,
+ getAccountRatings,
+ getBlacklistedVideosList,
+ getMyUserInformation,
+ getMyUserVideoQuotaUsed,
+ getMyUserVideoRating,
+ getUserInformation,
+ getUsersList,
+ getUsersListPaginationAndSort,
+ getVideosList,
+ killallServers,
+ login,
+ makePutBodyRequest,
+ rateVideo,
+ registerUser,
+ removeUser,
+ removeVideo,
+ runServer,
+ ServerInfo,
+ testImage,
+ unblockUser,
+ updateMyAvatar,
+ updateMyUser,
+ updateUser,
+ uploadVideo,
+ userLogin
+} from '../../../../shared/utils'
+import { follow } from '../../../../shared/utils/server/follows'
+import { setAccessTokensToServers } from '../../../../shared/utils/users/login'
+import { getMyVideos } from '../../../../shared/utils/videos/videos'
const expect = chai.expect
expect(rating.rating).to.equal('like')
})
+ it('Should retrieve ratings list', async function () {
+ await rateVideo(server.url, accessToken, videoId, 'like')
+
+ const res = await getAccountRatings(server.url, server.user.username, server.accessToken, null, 200)
+ const ratings = res.body
+
+ expect(ratings.total).to.equal(1)
+ expect(ratings.data[0].video.id).to.equal(videoId)
+ expect(ratings.data[0].rating).to.equal('like')
+ })
+
+ it('Should retrieve ratings list by rating type', async function () {
+ {
+ const res = await getAccountRatings(server.url, server.user.username, server.accessToken, 'like')
+ const ratings = res.body
+ expect(ratings.data.length).to.equal(1)
+ }
+
+ {
+ const res = await getAccountRatings(server.url, server.user.username, server.accessToken, 'dislike')
+ const ratings = res.body
+ expect(ratings.data.length).to.equal(0)
+ }
+ })
+
it('Should not be able to remove the video with an incorrect token', async function () {
await removeVideo(server.url, 'bad_token', videoId, 401)
})
it('Should be able to upload a video again')
it('Should be able to create a new user', async function () {
- await createUser(server.url, accessToken, user.username,user.password, 2 * 1024 * 1024)
+ await createUser(server.url, accessToken, user.username, user.password, 2 * 1024 * 1024)
})
it('Should be able to login with this user', async function () {
expect(users[ 1 ].nsfwPolicy).to.equal('display')
})
+ it('Should search user by username', async function () {
+ const res = await getUsersListPaginationAndSort(server.url, server.accessToken, 0, 2, 'createdAt', 'oot')
+ const users = res.body.data as User[]
+
+ expect(res.body.total).to.equal(1)
+ expect(users.length).to.equal(1)
+
+ expect(users[ 0 ].username).to.equal('root')
+ })
+
+ it('Should search user by email', async function () {
+ {
+ const res = await getUsersListPaginationAndSort(server.url, server.accessToken, 0, 2, 'createdAt', 'r_1@exam')
+ const users = res.body.data as User[]
+
+ expect(res.body.total).to.equal(1)
+ expect(users.length).to.equal(1)
+
+ expect(users[ 0 ].username).to.equal('user_1')
+ expect(users[ 0 ].email).to.equal('user_1@example.com')
+ }
+
+ {
+ const res = await getUsersListPaginationAndSort(server.url, server.accessToken, 0, 2, 'createdAt', 'example')
+ const users = res.body.data as User[]
+
+ expect(res.body.total).to.equal(2)
+ expect(users.length).to.equal(2)
+
+ expect(users[ 0 ].username).to.equal('root')
+ expect(users[ 1 ].username).to.equal('user_1')
+ }
+ })
+
it('Should update my password', async function () {
await updateMyUser({
url: server.url,
accessToken: accessTokenUser,
+ currentPassword: 'super password',
newPassword: 'new password'
})
user.password = 'new password'
userId,
accessToken,
email: 'updated2@example.com',
+ emailVerified: true,
videoQuota: 42,
role: UserRole.MODERATOR
})
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('updated2@example.com')
+ expect(user.emailVerified).to.be.true
expect(user.nsfwPolicy).to.equal('do_not_list')
expect(user.videoQuota).to.equal(42)
expect(user.roleLabel).to.equal('Moderator')
accessTokenUser = await userLogin(server, user)
})
- it('Should not be able to delete a user by a moderator', async function () {
- await removeUser(server.url, 2, accessTokenUser, 403)
+ it('Should be able to update another user password', async function () {
+ await updateUser({
+ url: server.url,
+ userId,
+ accessToken,
+ password: 'password updated'
+ })
+
+ await getMyUserVideoQuotaUsed(server.url, accessTokenUser, 401)
+
+ await userLogin(server, user, 400)
+
+ user.password = 'password updated'
+ accessTokenUser = await userLogin(server, user)
})
it('Should be able to list video blacklist by a moderator', async function () {