import 'mocha'
import { UserRole } from '../../../../shared/index'
import {
- createUser, flushTests, getBlacklistedVideosList, getMyUserInformation, getMyUserVideoQuotaUsed, getMyUserVideoRating, getUserInformation,
- getUsersList,
- getUsersListPaginationAndSort, getVideosList, killallServers, login, makePutBodyRequest, rateVideo, registerUser, removeUser, removeVideo,
- runServer, ServerInfo, serverLogin, testImage, updateMyAvatar, updateMyUser, updateUser, uploadVideo
+ 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
} from '../../utils/index'
import { follow } from '../../utils/server/follows'
import { setAccessTokensToServers } from '../../utils/users/login'
let accessTokenUser: string
let videoId: number
let userId: number
+ const user = {
+ username: 'user_1',
+ password: 'super password'
+ }
before(async function () {
- this.timeout(10000)
+ this.timeout(30000)
await flushTests()
server = await runServer(1)
const res = await getVideosList(server.url)
const video = res.body.data[ 0 ]
- expect(video.accountName).to.equal('root')
+ expect(video.account.name).to.equal('root')
videoId = video.id
})
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_1', 'super 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 () {
- server.user = {
- username: 'user_1',
- password: 'super password'
- }
-
- accessTokenUser = await serverLogin(server)
+ accessTokenUser = await userLogin(server, user)
})
it('Should be able to get the user information', async function () {
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('user_1@example.com')
- expect(user.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
expect(user.videoQuota).to.equal(2 * 1024 * 1024)
expect(user.roleLabel).to.equal('User')
expect(user.id).to.be.a('number')
+ expect(user.account.displayName).to.equal('user_1')
+ expect(user.account.description).to.be.null
})
it('Should be able to upload a video with this user', async function () {
const user = users[ 0 ]
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('user_1@example.com')
- expect(user.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
const rootUser = users[ 1 ]
expect(rootUser.username).to.equal('root')
expect(rootUser.email).to.equal('admin1@example.com')
- expect(rootUser.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
userId = user.id
})
expect(user.username).to.equal('root')
expect(user.email).to.equal('admin1@example.com')
expect(user.roleLabel).to.equal('Administrator')
- expect(user.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
})
it('Should list only the first user by username desc', async function () {
const user = users[ 0 ]
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('user_1@example.com')
- expect(user.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
})
it('Should list only the second user by createdAt desc', async function () {
const user = users[ 0 ]
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('user_1@example.com')
- expect(user.displayNSFW).to.be.false
+ expect(user.nsfwPolicy).to.equal('display')
})
it('Should list all the users by createdAt asc', async function () {
expect(users[ 0 ].username).to.equal('root')
expect(users[ 0 ].email).to.equal('admin1@example.com')
- expect(users[ 0 ].displayNSFW).to.be.false
+ expect(users[ 0 ].nsfwPolicy).to.equal('display')
expect(users[ 1 ].username).to.equal('user_1')
expect(users[ 1 ].email).to.equal('user_1@example.com')
- expect(users[ 1 ].displayNSFW).to.be.false
+ expect(users[ 1 ].nsfwPolicy).to.equal('display')
})
it('Should update my password', async function () {
accessToken: accessTokenUser,
newPassword: 'new password'
})
- server.user.password = 'new password'
+ user.password = 'new password'
- await login(server.url, server.client, server.user, 200)
+ await userLogin(server, user, 200)
})
it('Should be able to change the NSFW display attribute', async function () {
await updateMyUser({
url: server.url,
accessToken: accessTokenUser,
- displayNSFW: true
+ nsfwPolicy: 'do_not_list'
})
const res = await getMyUserInformation(server.url, accessTokenUser)
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('user_1@example.com')
- expect(user.displayNSFW).to.be.ok
+ expect(user.nsfwPolicy).to.equal('do_not_list')
expect(user.videoQuota).to.equal(2 * 1024 * 1024)
expect(user.id).to.be.a('number')
+ expect(user.account.displayName).to.equal('user_1')
+ expect(user.account.description).to.be.null
})
it('Should be able to change the autoPlayVideo attribute', async function () {
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('updated@example.com')
- expect(user.displayNSFW).to.be.ok
+ expect(user.nsfwPolicy).to.equal('do_not_list')
expect(user.videoQuota).to.equal(2 * 1024 * 1024)
expect(user.id).to.be.a('number')
+ expect(user.account.displayName).to.equal('user_1')
+ expect(user.account.description).to.be.null
})
it('Should be able to update my avatar', async function () {
const res = await getMyUserInformation(server.url, accessTokenUser)
const user = res.body
- const test = await testImage(server.url, 'avatar-resized', user.account.avatar.path, '.png')
- expect(test).to.equal(true)
+ await testImage(server.url, 'avatar-resized', user.account.avatar.path, '.png')
+ })
+
+ it('Should be able to update my display name', async function () {
+ await updateMyUser({
+ url: server.url,
+ accessToken: accessTokenUser,
+ displayName: 'new display name'
+ })
+
+ const res = await getMyUserInformation(server.url, accessTokenUser)
+ const user = res.body
+
+ expect(user.username).to.equal('user_1')
+ expect(user.email).to.equal('updated@example.com')
+ expect(user.nsfwPolicy).to.equal('do_not_list')
+ expect(user.videoQuota).to.equal(2 * 1024 * 1024)
+ expect(user.id).to.be.a('number')
+ expect(user.account.displayName).to.equal('new display name')
+ expect(user.account.description).to.be.null
+ })
+
+ it('Should be able to update my description', async function () {
+ await updateMyUser({
+ url: server.url,
+ accessToken: accessTokenUser,
+ description: 'my super description updated'
+ })
+
+ const res = await getMyUserInformation(server.url, accessTokenUser)
+ const user = res.body
+
+ expect(user.username).to.equal('user_1')
+ expect(user.email).to.equal('updated@example.com')
+ expect(user.nsfwPolicy).to.equal('do_not_list')
+ expect(user.videoQuota).to.equal(2 * 1024 * 1024)
+ expect(user.id).to.be.a('number')
+ expect(user.account.displayName).to.equal('new display name')
+ expect(user.account.description).to.equal('my super description updated')
})
it('Should be able to update another user', async function () {
expect(user.username).to.equal('user_1')
expect(user.email).to.equal('updated2@example.com')
- expect(user.displayNSFW).to.be.ok
+ expect(user.nsfwPolicy).to.equal('do_not_list')
expect(user.videoQuota).to.equal(42)
expect(user.roleLabel).to.equal('Moderator')
expect(user.id).to.be.a('number')
})
+ it('Should have removed the user token', async function () {
+ await getMyUserVideoQuotaUsed(server.url, accessTokenUser, 401)
+
+ 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 not be able to login with this user', async function () {
- // server.user is already set to user 1
- await login(server.url, server.client, server.user, 400)
+ await userLogin(server, user, 400)
})
it('Should not have videos of this user', async function () {
expect(res.body.total).to.equal(1)
const video = res.body.data[ 0 ]
- expect(video.accountName).to.equal('root')
+ expect(video.account.name).to.equal('root')
})
it('Should register a new user', async function () {
})
it('Should be able to login with this registered user', async function () {
- server.user = {
+ const user15 = {
username: 'user_15',
password: 'my super password'
}
- accessToken = await serverLogin(server)
+ accessToken = await userLogin(server, user15)
})
it('Should have the correct video quota', async function () {