+ it('Should fail with an invalid follower', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto/accept',
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail with an unknown follower', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto@localhost:9003/accept',
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
+ })
+ })
+ })
+
+ describe('When rejecting a follower', function () {
+ const path = '/api/v1/server/followers'
+
+ it('Should fail with an invalid token', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto@localhost:9002/reject',
+ token: 'fake_token',
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
+ })
+ })
+
+ it('Should fail if the user is not an administrator', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto@localhost:9002/reject',
+ token: userAccessToken,
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
+ })
+ })
+
+ it('Should fail with an invalid follower', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto/reject',
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail with an unknown follower', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path: path + '/toto@localhost:9003/reject',
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
+ })
+ })
+ })
+
+ describe('When removing following', function () {
+ const path = '/api/v1/server/following'
+
+ it('Should fail with an invalid token', async function () {
+ await makeDeleteRequest({
+ url: server.url,
+ path: path + '/localhost:9002',
+ token: 'fake_token',
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
+ })
+ })
+
+ it('Should fail if the user is not an administrator', async function () {
+ await makeDeleteRequest({
+ url: server.url,
+ path: path + '/localhost:9002',
+ token: userAccessToken,
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
+ })
+ })
+
+ it('Should fail if we do not follow this server', async function () {
+ await makeDeleteRequest({
+ url: server.url,
+ path: path + '/example.com',
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
+ })
+ })