diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-10-19 09:43:01 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-10-19 09:43:01 +0200 |
commit | 8a02bd0433b7101c5ea36e87a4edb63204d2adec (patch) | |
tree | d7ab4b6164aef752c216bd2f22f8b3b270a724b8 /server/tests | |
parent | 9fd540562c356cb54b98861d2d9e7d4fbfcd00e0 (diff) | |
download | PeerTube-8a02bd0433b7101c5ea36e87a4edb63204d2adec.tar.gz PeerTube-8a02bd0433b7101c5ea36e87a4edb63204d2adec.tar.zst PeerTube-8a02bd0433b7101c5ea36e87a4edb63204d2adec.zip |
Add pod list endpoint with pagination, sort...
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/api/check-params/pods.ts | 32 | ||||
-rw-r--r-- | server/tests/api/friends-basic.ts | 19 | ||||
-rw-r--r-- | server/tests/utils/pods.ts | 16 |
3 files changed, 63 insertions, 4 deletions
diff --git a/server/tests/api/check-params/pods.ts b/server/tests/api/check-params/pods.ts index a897e4dcd..9f9c2e4f0 100644 --- a/server/tests/api/check-params/pods.ts +++ b/server/tests/api/check-params/pods.ts | |||
@@ -15,7 +15,6 @@ import { | |||
15 | } from '../../utils' | 15 | } from '../../utils' |
16 | 16 | ||
17 | describe('Test pods API validators', function () { | 17 | describe('Test pods API validators', function () { |
18 | const path = '/api/v1/pods/' | ||
19 | let server: ServerInfo | 18 | let server: ServerInfo |
20 | 19 | ||
21 | // --------------------------------------------------------------- | 20 | // --------------------------------------------------------------- |
@@ -30,6 +29,7 @@ describe('Test pods API validators', function () { | |||
30 | }) | 29 | }) |
31 | 30 | ||
32 | describe('When managing friends', function () { | 31 | describe('When managing friends', function () { |
32 | const path = '/api/v1/pods/' | ||
33 | let userAccessToken = null | 33 | let userAccessToken = null |
34 | 34 | ||
35 | before(async function () { | 35 | before(async function () { |
@@ -110,6 +110,32 @@ describe('Test pods API validators', function () { | |||
110 | }) | 110 | }) |
111 | }) | 111 | }) |
112 | 112 | ||
113 | describe('When listing friends', function () { | ||
114 | it('Should fail with a bad start pagination', async function () { | ||
115 | await request(server.url) | ||
116 | .get(path) | ||
117 | .query({ start: 'hello' }) | ||
118 | .set('Accept', 'application/json') | ||
119 | .expect(400) | ||
120 | }) | ||
121 | |||
122 | it('Should fail with a bad count pagination', async function () { | ||
123 | await request(server.url) | ||
124 | .get(path) | ||
125 | .query({ count: 'hello' }) | ||
126 | .set('Accept', 'application/json') | ||
127 | .expect(400) | ||
128 | }) | ||
129 | |||
130 | it('Should fail with an incorrect sort', async function () { | ||
131 | await request(server.url) | ||
132 | .get(path) | ||
133 | .query({ sort: 'hello' }) | ||
134 | .set('Accept', 'application/json') | ||
135 | .expect(400) | ||
136 | }) | ||
137 | }) | ||
138 | |||
113 | describe('When quitting friends', function () { | 139 | describe('When quitting friends', function () { |
114 | it('Should fail with an invalid token', async function () { | 140 | it('Should fail with an invalid token', async function () { |
115 | await request(server.url) | 141 | await request(server.url) |
@@ -175,7 +201,9 @@ describe('Test pods API validators', function () { | |||
175 | }) | 201 | }) |
176 | }) | 202 | }) |
177 | 203 | ||
178 | describe('When adding a pod', function () { | 204 | describe('When adding a pod from remote', function () { |
205 | const path = '/api/v1/remote/pods/add' | ||
206 | |||
179 | it('Should fail with nothing', async function () { | 207 | it('Should fail with nothing', async function () { |
180 | const fields = {} | 208 | const fields = {} |
181 | await makePostBodyRequest({ url: server.url, path, fields }) | 209 | await makePostBodyRequest({ url: server.url, path, fields }) |
diff --git a/server/tests/api/friends-basic.ts b/server/tests/api/friends-basic.ts index 13edf6273..efca4fda2 100644 --- a/server/tests/api/friends-basic.ts +++ b/server/tests/api/friends-basic.ts | |||
@@ -15,7 +15,8 @@ import { | |||
15 | makeFriends, | 15 | makeFriends, |
16 | getFriendsList, | 16 | getFriendsList, |
17 | dateIsValid, | 17 | dateIsValid, |
18 | quitOneFriend | 18 | quitOneFriend, |
19 | getPodsListPaginationAndSort | ||
19 | } from '../utils' | 20 | } from '../utils' |
20 | 21 | ||
21 | describe('Test basic friends', function () { | 22 | describe('Test basic friends', function () { |
@@ -120,6 +121,22 @@ describe('Test basic friends', function () { | |||
120 | await makeFriends(server.url, server.accessToken, 409) | 121 | await makeFriends(server.url, server.accessToken, 409) |
121 | }) | 122 | }) |
122 | 123 | ||
124 | it('Should list friends correctly', async function () { | ||
125 | const start = 1 | ||
126 | const count = 1 | ||
127 | const sort = '-host' | ||
128 | |||
129 | const res = await getPodsListPaginationAndSort(servers[0].url, start, count, sort) | ||
130 | expect(res.body.total).to.equal(2) | ||
131 | expect(res.body.data).to.have.lengthOf(1) | ||
132 | |||
133 | const pod = res.body.data[0] | ||
134 | expect(pod.host).to.equal('localhost:9002') | ||
135 | expect(pod.email).to.equal('admin2@example.com') | ||
136 | expect(pod.score).to.equal(20) | ||
137 | expect(dateIsValid(pod.createdAt)).to.be.true | ||
138 | }) | ||
139 | |||
123 | it('Should quit friends of pod 2', async function () { | 140 | it('Should quit friends of pod 2', async function () { |
124 | this.timeout(10000) | 141 | this.timeout(10000) |
125 | 142 | ||
diff --git a/server/tests/utils/pods.ts b/server/tests/utils/pods.ts index a86dd20d9..52e807e70 100644 --- a/server/tests/utils/pods.ts +++ b/server/tests/utils/pods.ts | |||
@@ -12,6 +12,19 @@ function getFriendsList (url: string) { | |||
12 | .expect('Content-Type', /json/) | 12 | .expect('Content-Type', /json/) |
13 | } | 13 | } |
14 | 14 | ||
15 | function getPodsListPaginationAndSort (url: string, start: number, count: number, sort: string) { | ||
16 | const path = '/api/v1/pods/' | ||
17 | |||
18 | return request(url) | ||
19 | .get(path) | ||
20 | .query({ start }) | ||
21 | .query({ count }) | ||
22 | .query({ sort }) | ||
23 | .set('Accept', 'application/json') | ||
24 | .expect(200) | ||
25 | .expect('Content-Type', /json/) | ||
26 | } | ||
27 | |||
15 | async function makeFriends (url: string, accessToken: string, expectedStatus = 204) { | 28 | async function makeFriends (url: string, accessToken: string, expectedStatus = 204) { |
16 | // Which pod makes friends with which pod | 29 | // Which pod makes friends with which pod |
17 | const friendsMatrix = { | 30 | const friendsMatrix = { |
@@ -85,5 +98,6 @@ export { | |||
85 | getFriendsList, | 98 | getFriendsList, |
86 | makeFriends, | 99 | makeFriends, |
87 | quitFriends, | 100 | quitFriends, |
88 | quitOneFriend | 101 | quitOneFriend, |
102 | getPodsListPaginationAndSort | ||
89 | } | 103 | } |