openvibers/openvibe.mediahub Commits

Serve the Trending card as a frame.menu-cards array (#303)

OP OpenVibers committed 6 days ago · f89bb13d9a · 2 files, +6 −5

Changes

ddiff --git a/server/video/menu-card.js b/server/video/menu-card.js
iindex 7704d45..b6d48ab 100644
---- a/server/video/menu-card.js
++++ b/server/video/menu-card.js
@@@ -99,7 +99,7 @@ function createMenuCardHandler({ feed, now = Date.now }) {
res.set('Cache-Control', 'public, max-age=60')
.set('Access-Control-Allow-Origin', '*')
.set('Cross-Origin-Resource-Policy', 'cross-origin')
-- .json(body);
++ .json([body]);
} catch {
res.status(503).set('Cache-Control', 'no-store').set('Access-Control-Allow-Origin', '*')
.json({ error: 'menu_unavailable' });
ddiff --git a/test/video-menu-card.test.js b/test/video-menu-card.test.js
iindex 040fd03..998fa01 100644
---- a/test/video-menu-card.test.js
++++ b/test/video-menu-card.test.js
@@@ -66,8 +66,9 @@ function fakeRes() {
assert.strictEqual(first.status(), 200);
assert.strictEqual(first.headers['Access-Control-Allow-Origin'], '*');
assert.strictEqual(first.headers['Cache-Control'], 'public, max-age=60');
-- assert.strictEqual(first.body().site, 'media-hub');
-- assert.deepStrictEqual(first.body().items.map((x) => x.url), ['https://openvibe.video/c/2', 'https://openvibe.video/v/1']);
++ assert.ok(Array.isArray(first.body()) && first.body().length === 1, 'the file is an array of cards');
++ assert.strictEqual(first.body()[0].site, 'media-hub');
++ assert.deepStrictEqual(first.body()[0].items.map((x) => x.url), ['https://openvibe.video/c/2', 'https://openvibe.video/v/1']);
assert.strictEqual(calls, 2, 'one feed call for VODs and one for clips');
const second = fakeRes();
@@@ -84,7 +85,7 @@ function fakeRes() {
const half = fakeRes();
await oneDown({}, half.res);
assert.strictEqual(half.status(), 200);
-- assert.deepStrictEqual(half.body().items.map((x) => x.url), ['https://openvibe.video/c/2']);
++ assert.deepStrictEqual(half.body()[0].items.map((x) => x.url), ['https://openvibe.video/c/2']);
let fail = false;
let buildCalls = 0;
@@@ -103,7 +104,7 @@ function fakeRes() {
const kept = fakeRes();
await flaky({}, kept.res);
assert.strictEqual(kept.status(), 200);
-- assert.strictEqual(kept.body().items[0].url, 'https://openvibe.video/v/1');
++ assert.strictEqual(kept.body()[0].items[0].url, 'https://openvibe.video/v/1');
const never = createMenuCardHandler({ feed: async () => { throw new Error('down'); }, now: () => t });
const none = fakeRes();