X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fusers%2Fusers.ts;h=95b1bb62603357324217039ab2306bddb00ed7e7;hb=43d0ea7f4b88d52097172cc0c1831edd7e492503;hp=c1a24b8387598d9276a3d74649eb6c73d9165a52;hpb=86aafd06f2d124786ea3d10477f356c2e3f85dd6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/users/users.ts b/server/tests/api/users/users.ts index c1a24b838..95b1bb626 100644 --- a/server/tests/api/users/users.ts +++ b/server/tests/api/users/users.ts @@ -17,11 +17,12 @@ import { getUserInformation, getUsersList, getUsersListPaginationAndSort, - getVideosList, + getVideoChannel, + getVideosList, installPlugin, login, makePutBodyRequest, rateVideo, - registerUser, + registerUserWithChannel, removeUser, removeVideo, ServerInfo, @@ -56,6 +57,8 @@ describe('Test users', function () { server = await flushAndRunServer(1) await setAccessTokensToServers([ server ]) + + await installPlugin({ url: server.url, accessToken: server.accessToken, npmName: 'peertube-theme-background-red' }) }) describe('OAuth client', function () { @@ -115,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 () { @@ -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)