Currently Listening: finished is 90% played, not read
Opening an episode marks it read, so filtering on read hid every episode anyone had started. The player now also reports the length it measured, filling in one the feed left out. Fixes #14. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -156,11 +156,11 @@ test('an item with several enclosures lists them all', async ({ page }) => {
|
||||
});
|
||||
|
||||
test('Currently Listening, its own place below Popular, resumes an episode you started', async ({ page }) => {
|
||||
// Second Episode (900s) is 42 seconds in and unfinished. Which of Test Show's two episodes
|
||||
// the daemon auto-downloaded is not fixed (see the three-panes test above), so an earlier
|
||||
// test may have opened -- and so read -- this one already; reset it before relying on it.
|
||||
// Second Episode (900s) is 42 seconds in and unfinished. An earlier test may have opened it,
|
||||
// and opening marks it read; it is listed all the same, because read is not finished. This
|
||||
// test used to set it unread first, which hid exactly the bug in issue #14.
|
||||
await page.evaluate(() =>
|
||||
api('/api/entries/test-show/ui-2/flags', { method: 'POST', body: JSON.stringify({ read: false }) }));
|
||||
api('/api/entries/test-show/ui-2/flags', { method: 'POST', body: JSON.stringify({ read: true }) }));
|
||||
await page.evaluate(() =>
|
||||
api('/api/entries/test-show/ui-2/position', { method: 'POST', body: JSON.stringify({ secs: 42 }) }));
|
||||
|
||||
@@ -181,9 +181,9 @@ test('Currently Listening, its own place below Popular, resumes an episode you s
|
||||
await expect(page.locator('#ptitle')).toHaveText('Second Episode');
|
||||
await page.locator('#pclose').click();
|
||||
|
||||
// Finished (read) drops it from the list, however far it got.
|
||||
// Finished, 90% of the way or more, drops it from the list.
|
||||
await page.evaluate(() =>
|
||||
api('/api/entries/test-show/ui-2/flags', { method: 'POST', body: JSON.stringify({ read: true }) }));
|
||||
api('/api/entries/test-show/ui-2/position', { method: 'POST', body: JSON.stringify({ secs: 850 }) }));
|
||||
await page.locator('#feedlist .place', { hasText: 'Currently Listening' }).click();
|
||||
await expect(page.locator('#listening')).not.toContainText('Second Episode', { timeout: 20_000 });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user