fix(subsonic): always return required playqueue fields (#5172)
Some checks are pending
Pipeline: Test, Lint, Build / Get version info (push) Waiting to run
Pipeline: Test, Lint, Build / Build (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Lint Go code (push) Waiting to run
Pipeline: Test, Lint, Build / Test Go code (push) Waiting to run
Pipeline: Test, Lint, Build / Test JS code (push) Waiting to run
Pipeline: Test, Lint, Build / Lint i18n files (push) Waiting to run
Pipeline: Test, Lint, Build / Check Docker configuration (push) Waiting to run
Pipeline: Test, Lint, Build / Build-1 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-2 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-3 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-4 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-5 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-6 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-7 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-8 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-9 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build-10 (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Push to GHCR (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Push to Docker Hub (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Cleanup digest artifacts (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Build Windows installers (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Package/Release (push) Blocked by required conditions
Pipeline: Test, Lint, Build / Upload Linux PKG (push) Blocked by required conditions

This commit is contained in:
Kendall Garner 2026-03-12 12:29:37 +00:00 committed by GitHub
parent 0312eb33f1
commit 903e3f070f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 29 additions and 5 deletions

View file

@ -77,12 +77,28 @@ var _ = Describe("Bookmark and PlayQueue Endpoints", Ordered, func() {
}
})
It("getPlayQueue returns empty when nothing saved", func() {
It("getPlayQueue returns minimum required fields when nothing specified", func() {
resp := doReq("getPlayQueue")
Expect(resp.Status).To(Equal(responses.StatusOK))
// When no play queue exists, PlayQueue should be nil (no entry returned)
Expect(resp.PlayQueue).To(BeNil())
Expect(resp.PlayQueue).ToNot(BeNil())
Expect(resp.PlayQueue.Entry).To(HaveLen(0))
Expect(resp.PlayQueue.Current).To(BeEmpty())
Expect(resp.PlayQueue.Position).To(Equal(int64(0)))
Expect(resp.PlayQueue.Username).To(Equal(adminUser.UserName))
Expect(resp.PlayQueue.ChangedBy).To(BeEmpty())
})
It("getPlayQueueByIndex returns minimum required fields when nothing specified", func() {
resp := doReq("getPlayQueueByIndex")
Expect(resp.Status).To(Equal(responses.StatusOK))
Expect(resp.PlayQueueByIndex).ToNot(BeNil())
Expect(resp.PlayQueueByIndex.Entry).To(HaveLen(0))
Expect(resp.PlayQueueByIndex.CurrentIndex).To(BeNil())
Expect(resp.PlayQueueByIndex.Position).To(Equal(int64(0)))
Expect(resp.PlayQueueByIndex.Username).To(Equal(adminUser.UserName))
Expect(resp.PlayQueueByIndex.ChangedBy).To(BeEmpty())
})
It("savePlayQueue stores current play queue", func() {

View file

@ -78,7 +78,11 @@ func (api *Router) GetPlayQueue(r *http.Request) (*responses.Subsonic, error) {
return nil, err
}
if pq == nil || len(pq.Items) == 0 {
return newResponse(), nil
response := newResponse()
response.PlayQueue = &responses.PlayQueue{
Username: user.UserName,
}
return response, nil
}
response := newResponse()
@ -145,7 +149,11 @@ func (api *Router) GetPlayQueueByIndex(r *http.Request) (*responses.Subsonic, er
return nil, err
}
if pq == nil || len(pq.Items) == 0 {
return newResponse(), nil
response := newResponse()
response.PlayQueueByIndex = &responses.PlayQueueByIndex{
Username: user.UserName,
}
return response, nil
}
response := newResponse()