Directory: let an admin give a blog its category
Almost no blog names a category the Directory can use, so a feed can carry one of its own in config.toml, set by an admin in the feed's settings and used when the feed names none. The feed's own iTunes category still wins. The field offers the categories the Directory already shows, so a blog about games joins Games rather than starting a second chip. Setting it on a feed from an OPML promotes it to config, as any other shared setting does. Closes #10. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -951,3 +951,18 @@ test('keys move through items and places, after Feedly', async ({ page }) => {
|
||||
await page.keyboard.press('a');
|
||||
await expect(page.locator('#count')).toContainText('All Subscriptions');
|
||||
});
|
||||
|
||||
test('an admin can give a blog its Directory category', async ({ page }) => {
|
||||
const patch = (id, category) => page.evaluate(([id, category]) =>
|
||||
api(`/api/feeds/${id}`, { method: 'PATCH', body: JSON.stringify({ category }) }), [id, category]);
|
||||
const listed = async id => (await page.evaluate(() => api('/api/directory'))).find(p => p.id === id);
|
||||
|
||||
await patch('picture-blog', 'Visual Arts');
|
||||
expect(await listed('picture-blog')).toMatchObject({ podcast: false, category: 'Visual Arts' });
|
||||
// A feed's own iTunes category wins over one given here.
|
||||
await patch('test-show', 'Comedy');
|
||||
expect((await listed('test-show')).category).toBe('Technology');
|
||||
|
||||
for (const id of ['picture-blog', 'test-show']) await patch(id, null);
|
||||
expect((await listed('picture-blog')).category).toBeNull();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user