summaryrefslogtreecommitdiff
path: root/internal/api/api_integration_test.go
diff options
context:
space:
mode:
authorGravatar Pontus Jensen Karlsson <pontus@jensenkarlsson.se> 2024-08-08 04:46:09 +0000
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-08-12 20:20:44 -0700
commit6fb7e84ce1bb38b386a6f6effd1bb3b09d2b72e0 (patch)
tree0785d15a81daf0851753c71109b162bc55e01928 /internal/api/api_integration_test.go
parent770cc1dbb387af580b9ceba1cba9fda69e4444ed (diff)
downloadv2-6fb7e84ce1bb38b386a6f6effd1bb3b09d2b72e0.tar.gz
v2-6fb7e84ce1bb38b386a6f6effd1bb3b09d2b72e0.tar.zst
v2-6fb7e84ce1bb38b386a6f6effd1bb3b09d2b72e0.zip
feat: API: Allow filtering entries on globally_hidden
Currently there's no way through the API to mimic the Unread page of the client. This is now possible by filtering on globally_visible=true and status=unread.
Diffstat (limited to 'internal/api/api_integration_test.go')
-rw-r--r--internal/api/api_integration_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/api/api_integration_test.go b/internal/api/api_integration_test.go
index 9259b590..df8d93a0 100644
--- a/internal/api/api_integration_test.go
+++ b/internal/api/api_integration_test.go
@@ -1986,6 +1986,54 @@ func TestGetAllEntriesEndpointWithFilter(t *testing.T) {
}
}
+func TestGetGlobalEntriesEndpoint(t *testing.T) {
+ testConfig := newIntegrationTestConfig()
+ if !testConfig.isConfigured() {
+ t.Skip(skipIntegrationTestsMessage)
+ }
+
+ adminClient := miniflux.NewClient(testConfig.testBaseURL, testConfig.testAdminUsername, testConfig.testAdminPassword)
+
+ regularTestUser, err := adminClient.CreateUser(testConfig.genRandomUsername(), testConfig.testRegularPassword, false)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer adminClient.DeleteUser(regularTestUser.ID)
+
+ regularUserClient := miniflux.NewClient(testConfig.testBaseURL, regularTestUser.Username, testConfig.testRegularPassword)
+
+ feedID, err := regularUserClient.CreateFeed(&miniflux.FeedCreationRequest{
+ FeedURL: testConfig.testFeedURL,
+ HideGlobally: true,
+ })
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ /* Not filtering on GloballyVisible should return all entries */
+ feedEntries, err := regularUserClient.Entries(&miniflux.Filter{FeedID: feedID})
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if len(feedEntries.Entries) == 0 {
+ t.Fatalf(`Expected entries but response contained none.`)
+ }
+
+ /* Feed is hidden globally, so this should be empty */
+ globallyVisibleEntries, err := regularUserClient.Entries(&miniflux.Filter{GloballyVisible: true})
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if len(globallyVisibleEntries.Entries) != 0 {
+ t.Fatalf(`Expected no entries, got %d`, len(globallyVisibleEntries.Entries))
+ }
+}
+
func TestGetEntryEndpoints(t *testing.T) {
testConfig := newIntegrationTestConfig()
if !testConfig.isConfigured() {