fix(subsonic): always return required playqueue fields (#5172)
This commit is contained in:
@@ -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")
|
resp := doReq("getPlayQueue")
|
||||||
|
|
||||||
Expect(resp.Status).To(Equal(responses.StatusOK))
|
Expect(resp.Status).To(Equal(responses.StatusOK))
|
||||||
// When no play queue exists, PlayQueue should be nil (no entry returned)
|
Expect(resp.PlayQueue).ToNot(BeNil())
|
||||||
Expect(resp.PlayQueue).To(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() {
|
It("savePlayQueue stores current play queue", func() {
|
||||||
|
|||||||
@@ -78,7 +78,11 @@ func (api *Router) GetPlayQueue(r *http.Request) (*responses.Subsonic, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if pq == nil || len(pq.Items) == 0 {
|
if pq == nil || len(pq.Items) == 0 {
|
||||||
return newResponse(), nil
|
response := newResponse()
|
||||||
|
response.PlayQueue = &responses.PlayQueue{
|
||||||
|
Username: user.UserName,
|
||||||
|
}
|
||||||
|
return response, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
response := newResponse()
|
response := newResponse()
|
||||||
@@ -145,7 +149,11 @@ func (api *Router) GetPlayQueueByIndex(r *http.Request) (*responses.Subsonic, er
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if pq == nil || len(pq.Items) == 0 {
|
if pq == nil || len(pq.Items) == 0 {
|
||||||
return newResponse(), nil
|
response := newResponse()
|
||||||
|
response.PlayQueueByIndex = &responses.PlayQueueByIndex{
|
||||||
|
Username: user.UserName,
|
||||||
|
}
|
||||||
|
return response, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
response := newResponse()
|
response := newResponse()
|
||||||
|
|||||||
Reference in New Issue
Block a user