X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fusers%2Fusers.ts;h=95b1bb62603357324217039ab2306bddb00ed7e7;hb=43d0ea7f4b88d52097172cc0c1831edd7e492503;hp=472ff511ccecf0fd66a5e00e434587f342de33da;hpb=94565d52bb2883e09f16d1363170ac9c0dccb7a1;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/users/users.ts b/server/tests/api/users/users.ts index 472ff511c..95b1bb626 100644 --- a/server/tests/api/users/users.ts +++ b/server/tests/api/users/users.ts @@ -2,12 +2,13 @@ import * as chai from 'chai' import 'mocha' -import { User, UserRole } from '../../../../shared/index' +import { User, UserRole, Video } from '../../../../shared/index' import { blockUser, + cleanupTests, createUser, deleteMe, - flushTests, + flushAndRunServer, getAccountRatings, getBlacklistedVideosList, getMyUserInformation, @@ -16,15 +17,14 @@ import { getUserInformation, getUsersList, getUsersListPaginationAndSort, - getVideosList, - killallServers, + getVideoChannel, + getVideosList, installPlugin, login, makePutBodyRequest, rateVideo, - registerUser, + registerUserWithChannel, removeUser, removeVideo, - runServer, ServerInfo, testImage, unblockUser, @@ -54,11 +54,11 @@ describe('Test users', function () { before(async function () { this.timeout(30000) - - await flushTests() - server = await runServer(1) + server = await flushAndRunServer(1) await setAccessTokensToServers([ server ]) + + await installPlugin({ url: server.url, accessToken: server.accessToken, npmName: 'peertube-theme-background-red' }) }) describe('OAuth client', function () { @@ -118,6 +118,17 @@ describe('Test users', function () { accessToken = res.body.access_token }) + + it('Should be able to login with an insensitive username', async function () { + const user = { username: 'RoOt', password: server.user.password } + const res = await login(server.url, server.client, user, 200) + + const user2 = { username: 'rOoT', password: server.user.password } + const res2 = await login(server.url, server.client, user2, 200) + + const user3 = { username: 'ROOt', password: server.user.password } + const res3 = await login(server.url, server.client, user3, 200) + }) }) describe('Upload', function () { @@ -293,7 +304,10 @@ describe('Test users', function () { const videos = res.body.data expect(videos).to.have.lengthOf(1) - expect(videos[ 0 ].name).to.equal('super user video') + const video: Video = videos[ 0 ] + expect(video.name).to.equal('super user video') + expect(video.thumbnailPath).to.not.be.null + expect(video.previewPath).to.not.be.null }) }) @@ -316,7 +330,7 @@ describe('Test users', function () { const rootUser = users[ 1 ] expect(rootUser.username).to.equal('root') - expect(rootUser.email).to.equal('admin1@example.com') + expect(rootUser.email).to.equal('admin' + server.internalServerNumber + '@example.com') expect(user.nsfwPolicy).to.equal('display') userId = user.id @@ -334,7 +348,7 @@ describe('Test users', function () { const user = users[ 0 ] expect(user.username).to.equal('root') - expect(user.email).to.equal('admin1@example.com') + expect(user.email).to.equal('admin' + server.internalServerNumber + '@example.com') expect(user.roleLabel).to.equal('Administrator') expect(user.nsfwPolicy).to.equal('display') }) @@ -379,7 +393,7 @@ describe('Test users', function () { expect(users.length).to.equal(2) expect(users[ 0 ].username).to.equal('root') - expect(users[ 0 ].email).to.equal('admin1@example.com') + expect(users[ 0 ].email).to.equal('admin' + server.internalServerNumber + '@example.com') expect(users[ 0 ].nsfwPolicy).to.equal('display') expect(users[ 1 ].username).to.equal('user_1') @@ -428,7 +442,7 @@ describe('Test users', function () { url: server.url, accessToken: accessTokenUser, currentPassword: 'super password', - newPassword: 'new password' + password: 'new password' }) user.password = 'new password' @@ -467,10 +481,11 @@ describe('Test users', function () { expect(user.autoPlayVideo).to.be.false }) - it('Should be able to change the email display attribute', async function () { + it('Should be able to change the email attribute', async function () { await updateMyUser({ url: server.url, accessToken: accessTokenUser, + currentPassword: 'new password', email: 'updated@example.com' }) @@ -528,7 +543,7 @@ describe('Test users', function () { }) const res = await getMyUserInformation(server.url, accessTokenUser) - const user = res.body + const user: User = res.body expect(user.username).to.equal('user_1') expect(user.email).to.equal('updated@example.com') @@ -537,6 +552,38 @@ describe('Test users', function () { 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') + expect(user.noWelcomeModal).to.be.false + expect(user.noInstanceConfigWarningModal).to.be.false + }) + + it('Should be able to update my theme', async function () { + for (const theme of [ 'background-red', 'default', 'instance-default' ]) { + await updateMyUser({ + url: server.url, + accessToken: accessTokenUser, + theme + }) + + const res = await getMyUserInformation(server.url, accessTokenUser) + const body: User = res.body + + expect(body.theme).to.equal(theme) + } + }) + + it('Should be able to update my modal preferences', async function () { + await updateMyUser({ + url: server.url, + accessToken: accessTokenUser, + noInstanceConfigWarningModal: true, + noWelcomeModal: true + }) + + const res = await getMyUserInformation(server.url, accessTokenUser) + const user: User = res.body + + expect(user.noWelcomeModal).to.be.true + expect(user.noInstanceConfigWarningModal).to.be.true }) }) @@ -617,7 +664,10 @@ describe('Test users', function () { describe('Registering a new user', function () { it('Should register a new user', async function () { - await registerUser(server.url, 'user_15', 'my super password') + const user = { displayName: 'super user 15', username: 'user_15', password: 'my super password' } + const channel = { name: 'my_user_15_channel', displayName: 'my channel rocks' } + + await registerUserWithChannel({ url: server.url, user, channel }) }) it('Should be able to login with this registered user', async function () { @@ -629,6 +679,13 @@ describe('Test users', function () { accessToken = await userLogin(server, user15) }) + it('Should have the correct display name', async function () { + const res = await getMyUserInformation(server.url, accessToken) + const user: User = res.body + + expect(user.account.displayName).to.equal('super user 15') + }) + it('Should have the correct video quota', async function () { const res = await getMyUserInformation(server.url, accessToken) const user = res.body @@ -636,6 +693,12 @@ describe('Test users', function () { expect(user.videoQuota).to.equal(5 * 1024 * 1024) }) + it('Should have created the channel', async function () { + const res = await getVideoChannel(server.url, 'my_user_15_channel') + + expect(res.body.displayName).to.equal('my channel rocks') + }) + it('Should remove me', async function () { { const res = await getUsersList(server.url, server.accessToken) @@ -680,11 +743,6 @@ describe('Test users', function () { }) after(async function () { - killallServers([ server ]) - - // Keep the logs if the test failed - if (this[ 'ok' ]) { - await flushTests() - } + await cleanupTests([ server ]) }) })