+ let user16Id
+ let user16AccessToken
+ const user16 = {
+ username: 'user_16',
+ password: 'my super password'
+ }
+
+ it('Should block a user', async function () {
+ const user = await server.users.create({ ...user16 })
+ user16Id = user.id
+
+ user16AccessToken = await server.login.getAccessToken(user16)
+
+ await server.users.getMyInfo({ token: user16AccessToken, expectedStatus: HttpStatusCode.OK_200 })
+ await server.users.banUser({ userId: user16Id })
+
+ await server.users.getMyInfo({ token: user16AccessToken, expectedStatus: HttpStatusCode.UNAUTHORIZED_401 })
+ await server.login.login({ user: user16, expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
+ })
+
+ it('Should search user by banned status', async function () {
+ {
+ const { data, total } = await server.users.list({ start: 0, count: 2, sort: 'createdAt', blocked: true })
+ expect(total).to.equal(1)
+ expect(data.length).to.equal(1)
+
+ expect(data[0].username).to.equal(user16.username)
+ }
+
+ {
+ const { data, total } = await server.users.list({ start: 0, count: 2, sort: 'createdAt', blocked: false })
+ expect(total).to.equal(1)
+ expect(data.length).to.equal(1)
+
+ expect(data[0].username).to.not.equal(user16.username)
+ }
+ })
+
+ it('Should unblock a user', async function () {
+ await server.users.unbanUser({ userId: user16Id })
+ user16AccessToken = await server.login.getAccessToken(user16)
+ await server.users.getMyInfo({ token: user16AccessToken, expectedStatus: HttpStatusCode.OK_200 })
+ })
+ })
+
+ describe('User stats', function () {
+ let user17Id
+ let user17AccessToken
+
+ it('Should report correct initial statistics about a user', async function () {
+ const user17 = {
+ username: 'user_17',