From 39cc1c11ec596176e842cc98e6a54337e3c04d7e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Mon, 26 Feb 2024 09:01:03 +0100 Subject: New feature: shareable user query (#6052) * New feature: shareable user query Share the output of a user query by RSS / HTML / OPML with other people through unique URLs. Replaces the global admin token, which was the only option (but unsafe) to share RSS outputs with other people. Also add a new HTML output for people without an RSS reader. fix https://github.com/FreshRSS/FreshRSS/issues/3066#issuecomment-648977890 fix https://github.com/FreshRSS/FreshRSS/issues/3178#issuecomment-769435504 * Remove unused method * Fix token saving * Implement HTML view * Update i18n for master token * Revert i18n get_favorite * Fix missing i18n for user queries from before this PR * Remove irrelevant tests * Add link to RSS version * Fix getGet * Fix getState * Fix getSearch * Alternative getSearch * Default getOrder * Explicit default state * Fix test * Add OPML sharing * Remove many redundant SQL queries from original implementation of user queries * Fix article tags * Use default user settings * Prepare public search * Fixes * Allow user search on article tags * Implement user search * Revert filter bug * Revert wrong SQL left outer join change * Implement checkboxes * Safe check of OPML * Fix label * Remove RSS button to favour new sharing method That sharing button was using a global admin token * First version of HTTP 304 * Disallow some recusrivity fix https://github.com/FreshRSS/FreshRSS/issues/6086 * Draft of nav * Minor httpConditional * Add support for offset for pagination * Fix offset pagination * Fix explicit order ASC * Add documentation * Help links i18n * Note about deprecated master token * Typo * Doc about format --- tests/app/Models/CategoryTest.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'tests/app/Models/CategoryTest.php') diff --git a/tests/app/Models/CategoryTest.php b/tests/app/Models/CategoryTest.php index ac450de1d..842ebe200 100644 --- a/tests/app/Models/CategoryTest.php +++ b/tests/app/Models/CategoryTest.php @@ -59,9 +59,12 @@ class CategoryTest extends PHPUnit\Framework\TestCase { $feeds = $category->feeds(); self::assertCount(3, $feeds); - self::assertEquals('AAA', $feeds[0]->name()); - self::assertEquals('lll', $feeds[1]->name()); - self::assertEquals('ZZZ', $feeds[2]->name()); + $feed = reset($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('AAA', $feed->name()); + $feed = next($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('lll', $feed->name()); + $feed = next($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('ZZZ', $feed->name()); /** @var FreshRSS_Feed&PHPUnit\Framework\MockObject\MockObject */ $feed_4 = $this->getMockBuilder(FreshRSS_Feed::class) @@ -75,9 +78,13 @@ class CategoryTest extends PHPUnit\Framework\TestCase { $feeds = $category->feeds(); self::assertCount(4, $feeds); - self::assertEquals('AAA', $feeds[0]->name()); - self::assertEquals('BBB', $feeds[1]->name()); - self::assertEquals('lll', $feeds[2]->name()); - self::assertEquals('ZZZ', $feeds[3]->name()); + $feed = reset($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('AAA', $feed->name()); + $feed = next($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('BBB', $feed->name()); + $feed = next($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('lll', $feed->name()); + $feed = next($feeds) ?: FreshRSS_Feed::default(); + self::assertEquals('ZZZ', $feed->name()); } } -- cgit v1.2.3