Checkpoint peering identity and opt-in discovery
This commit is contained in:
1 parent
eba9b50e30
commit
47de081721
44 files changed
+1557
-55
No files matched your search
@@ -68,6 +68,40 @@ test('three services integrate collections, auth, custom covers and private heal
|
||||
assert.equal((await (await request('/api/settings', { pageTone: 'sepia' })).json()).settings.pageTone, 'sepia');
|
||||
assert.equal((await (await request('/api/settings', { pageTone: 'invalid' })).json()).settings.pageTone, 'sepia');
|
||||
assert.equal((await (await anotherRequest('/api/me')).json()).settings.pageTone, 'original');
|
||||
assert.equal((await fetch(base + '/api/discovery')).status, 401);
|
||||
assert.equal((await anotherRequest('/api/admin/discovery/run', {})).status, 403);
|
||||
assert.equal((await request('/api/settings', { discoveryEnabled: true })).status, 200);
|
||||
assert.equal((await anotherRequest('/api/settings', { discoveryEnabled: true })).status, 200);
|
||||
const beforeDiscoveryQueue = fs.readFileSync(path.join(data, 'scraper', 'queue.json'), 'utf8');
|
||||
const firstRun = await request('/api/admin/discovery/run', {});
|
||||
assert.equal(firstRun.status, 200);
|
||||
const firstRunId = (await firstRun.json()).id;
|
||||
let discoveryAdmin;
|
||||
for (let n = 0; n < 50; n++) {
|
||||
discoveryAdmin = await (await request('/api/admin/discovery')).json();
|
||||
if (discoveryAdmin.currentRun?.id === firstRunId && discoveryAdmin.currentRun?.status === 'success') break;
|
||||
await delay(100);
|
||||
}
|
||||
assert.equal(discoveryAdmin.currentRun?.status, 'success');
|
||||
const discoveryMine = await (await request('/api/discovery')).json();
|
||||
const discoveryOther = await (await anotherRequest('/api/discovery')).json();
|
||||
assert.ok(discoveryMine.items.length > 0 && discoveryMine.items.length <= 20);
|
||||
assert.ok(discoveryOther.items.length > 0 && discoveryOther.items.length <= 20);
|
||||
assert.equal(discoveryMine.items[0].candidate.id, discoveryMine.items[0].candidateId);
|
||||
const dismissed = discoveryMine.items[0].candidateId;
|
||||
assert.equal((await request('/api/discovery/feedback', { candidateId: dismissed, value: 'dismissed' })).status, 200);
|
||||
assert.equal((await anotherRequest('/api/discovery')).status, 200);
|
||||
assert.equal((await anotherRequest('/api/discovery/feedback', { candidateId: 'nonexistent', value: 'interested' })).status, 404);
|
||||
const secondRun = await request('/api/admin/discovery/run', {});
|
||||
assert.equal(secondRun.status, 200);
|
||||
const secondRunId = (await secondRun.json()).id;
|
||||
for (let n = 0; n < 50; n++) {
|
||||
discoveryAdmin = await (await request('/api/admin/discovery')).json();
|
||||
if (discoveryAdmin.currentRun?.id === secondRunId && discoveryAdmin.currentRun?.status === 'success') break;
|
||||
await delay(100);
|
||||
}
|
||||
assert.ok(!(await (await request('/api/discovery')).json()).items.some(item => item.candidateId === dismissed));
|
||||
assert.equal(fs.readFileSync(path.join(data, 'scraper', 'queue.json'), 'utf8'), beforeDiscoveryQueue);
|
||||
assert.equal((await (await anotherRequest('/api/greatest')).json()).entries[0].myRating, null);
|
||||
assert.equal((await anotherRequest('/api/greatest/rating', { id: firstPick.id, rating: 'good' })).status, 200);
|
||||
const communityPick = (await (await request('/api/greatest')).json()).entries[0];
|
||||
|
||||
Reference in new issue
Block a user