aboutsummaryrefslogtreecommitdiff
path: root/tests/app/Models/CategoryTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/app/Models/CategoryTest.php')
-rw-r--r--tests/app/Models/CategoryTest.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/app/Models/CategoryTest.php b/tests/app/Models/CategoryTest.php
index e4a921baa..93fbdbc63 100644
--- a/tests/app/Models/CategoryTest.php
+++ b/tests/app/Models/CategoryTest.php
@@ -30,4 +30,54 @@ class CategoryTest extends PHPUnit\Framework\TestCase {
);
}
+ public function test_feedOrdering() {
+ $feed_1 = $this->getMockBuilder(FreshRSS_Feed::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $feed_1->expects($this->any())
+ ->method('name')
+ ->willReturn('AAA');
+
+ $feed_2 = $this->getMockBuilder(FreshRSS_Feed::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $feed_2->expects($this->any())
+ ->method('name')
+ ->willReturn('ZZZ');
+
+ $feed_3 = $this->getMockBuilder(FreshRSS_Feed::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $feed_3->expects($this->any())
+ ->method('name')
+ ->willReturn('lll');
+
+ $category = new FreshRSS_Category('test', [
+ $feed_1,
+ $feed_2,
+ $feed_3,
+ ]);
+ $feeds = $category->feeds();
+
+ $this->assertCount(3, $feeds);
+ $this->assertEquals('AAA', $feeds[0]->name());
+ $this->assertEquals('lll', $feeds[1]->name());
+ $this->assertEquals('ZZZ', $feeds[2]->name());
+
+ $feed_4 = $this->getMockBuilder(FreshRSS_Feed::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $feed_4->expects($this->any())
+ ->method('name')
+ ->willReturn('BBB');
+
+ $category->addFeed($feed_4);
+ $feeds = $category->feeds();
+
+ $this->assertCount(4, $feeds);
+ $this->assertEquals('AAA', $feeds[0]->name());
+ $this->assertEquals('BBB', $feeds[1]->name());
+ $this->assertEquals('lll', $feeds[2]->name());
+ $this->assertEquals('ZZZ', $feeds[3]->name());
+ }
}