|
|
@@ -127,6 +127,53 @@ func TestFilterEntriesByCategory(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestFilterEntriesByStatuses(t *testing.T) {
|
|
|
+ client := createClient(t)
|
|
|
+ category, err := client.CreateCategory("Test Filter by statuses")
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ feedID, err := client.CreateFeed(testFeedURL, category.ID)
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if feedID == 0 {
|
|
|
+ t.Fatalf(`Invalid feed ID, got %q`, feedID)
|
|
|
+ }
|
|
|
+
|
|
|
+ results, err := client.Entries(&miniflux.Filter{FeedID: feedID})
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := client.UpdateEntries([]int64{results.Entries[0].ID}, "read"); err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err := client.UpdateEntries([]int64{results.Entries[1].ID}, "removed"); err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ results, err = client.Entries(&miniflux.Filter{Statuses: []string{"read", "removed"}})
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ if results.Total != 2 {
|
|
|
+ t.Fatalf(`We should have 2 entries`)
|
|
|
+ }
|
|
|
+
|
|
|
+ if results.Entries[0].Status != "read" {
|
|
|
+ t.Errorf(`The first entry has the wrong status: %s`, results.Entries[0].Status)
|
|
|
+ }
|
|
|
+
|
|
|
+ if results.Entries[1].Status != "removed" {
|
|
|
+ t.Errorf(`The 2nd entry has the wrong status: %s`, results.Entries[1].Status)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestSearchEntries(t *testing.T) {
|
|
|
client := createClient(t)
|
|
|
categories, err := client.Categories()
|