const request = require('supertest')
const usersUtils = {
- createUser: createUser,
- getUserInformation: getUserInformation,
- getUsersList: getUsersList,
- removeUser: removeUser,
- updateUser: updateUser
+ createUser,
+ registerUser,
+ getUserInformation,
+ getUserVideoRating,
+ getUsersList,
+ getUsersListPaginationAndSort,
+ removeUser,
+ updateUser
}
// ---------------------- Export functions --------------------
}
const path = '/api/v1/users'
+ const body = {
+ username,
+ password,
+ email: username + '@example.com'
+ }
request(url)
.post(path)
.set('Accept', 'application/json')
.set('Authorization', 'Bearer ' + accessToken)
- .send({ username: username, password: password })
+ .send(body)
+ .expect(specialStatus)
+ .end(end)
+}
+
+function registerUser (url, username, password, specialStatus, end) {
+ if (!end) {
+ end = specialStatus
+ specialStatus = 204
+ }
+
+ const path = '/api/v1/users/register'
+ const body = {
+ username,
+ password,
+ email: username + '@example.com'
+ }
+
+ request(url)
+ .post(path)
+ .set('Accept', 'application/json')
+ .send(body)
.expect(specialStatus)
.end(end)
}
.end(end)
}
+function getUserVideoRating (url, accessToken, videoId, end) {
+ const path = '/api/v1/users/me/videos/' + videoId + '/rating'
+
+ request(url)
+ .get(path)
+ .set('Accept', 'application/json')
+ .set('Authorization', 'Bearer ' + accessToken)
+ .expect(200)
+ .expect('Content-Type', /json/)
+ .end(end)
+}
+
function getUsersList (url, end) {
const path = '/api/v1/users'
.end(end)
}
+function getUsersListPaginationAndSort (url, start, count, sort, end) {
+ const path = '/api/v1/users'
+
+ request(url)
+ .get(path)
+ .query({ start: start })
+ .query({ count: count })
+ .query({ sort: sort })
+ .set('Accept', 'application/json')
+ .expect(200)
+ .expect('Content-Type', /json/)
+ .end(end)
+}
+
function removeUser (url, userId, accessToken, expectedStatus, end) {
if (!end) {
end = expectedStatus
.end(end)
}
-function updateUser (url, userId, accessToken, newPassword, end) {
+function updateUser (url, userId, accessToken, newPassword, displayNSFW, end) {
const path = '/api/v1/users/' + userId
+ const toSend = {}
+ if (newPassword !== undefined && newPassword !== null) toSend.password = newPassword
+ if (displayNSFW !== undefined && displayNSFW !== null) toSend.displayNSFW = displayNSFW
+
request(url)
.put(path)
.set('Accept', 'application/json')
.set('Authorization', 'Bearer ' + accessToken)
- .send({ password: newPassword })
+ .send(toSend)
.expect(204)
.end(end)
}