Adds Lyrics Support to Subsonic API (#1379)

* Add function 'isSynced' that identifies if lyrics are synced or not and add tests for the same

* implement 'getLyrics' which returns lyrics if they exist

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* remove timestamps frorom the the lyrics if they are synced, fix filters & clean up code

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* add snapshot tests for the 'Lyrics' response & add some clean up

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* add tests for 'GetLyrics' function

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>

* update the snapshot test & the test for 'GetLyrics' function

Signed-off-by: Dheeraj Lalwani <lalwanidheeraj1234@gmail.com>
This commit is contained in:
Dheeraj Lalwani
2021-10-20 02:03:06 +05:30
committed by GitHub
parent 3214783ce9
commit 5621551dd0
10 changed files with 169 additions and 2 deletions
@@ -561,4 +561,37 @@ var _ = Describe("Responses", func() {
})
})
})
Describe("Lyrics", func() {
BeforeEach(func() {
response.Lyrics = &Lyrics{}
})
Context("without data", func() {
It("should match .XML", func() {
Expect(xml.Marshal(response)).To(MatchSnapshot())
})
It("should match .JSON", func() {
Expect(json.Marshal(response)).To(MatchSnapshot())
})
})
Context("with data", func() {
BeforeEach(func() {
response.Lyrics.Artist = "Rick Astley"
response.Lyrics.Title = "Never Gonna Give You Up"
response.Lyrics.Value = `Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna say goodbye`
})
It("should match .XML", func() {
Expect(xml.Marshal(response)).To(MatchSnapshot())
})
It("should match .JSON", func() {
Expect(json.Marshal(response)).To(MatchSnapshot())
})
})
})
})