0.3.07
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCanonicalSonarrSeriesStatus(t *testing.T) {
|
||||
cases := map[string]string{
|
||||
" continuing ": "Continuing",
|
||||
"ended": "Ended",
|
||||
"cancelled": "Cancelled",
|
||||
"canceled": "Cancelled",
|
||||
"upcoming": "Upcoming",
|
||||
"deleted": "",
|
||||
"unknown": "",
|
||||
}
|
||||
for input, want := range cases {
|
||||
if got := canonicalSonarrSeriesStatus(input); got != want {
|
||||
t.Errorf("canonicalSonarrSeriesStatus(%q) = %q, want %q", input, got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestInjectSeriesStatusReplacesEmbyWithoutDroppingFields(t *testing.T) {
|
||||
raw := json.RawMessage(`{"Id":"series-1","Status":"Continuing","FutureField":true}`)
|
||||
decorated := injectSeriesStatus(raw, "Ended")
|
||||
var item struct {
|
||||
Status string `json:"Status"`
|
||||
FutureField bool `json:"FutureField"`
|
||||
}
|
||||
if err := json.Unmarshal(decorated, &item); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if item.Status != "Ended" || !item.FutureField {
|
||||
t.Fatalf("decorated item = %+v", item)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSeriesTVDBIDOnlyAcceptsSeries(t *testing.T) {
|
||||
series := json.RawMessage(`{"Type":"Series","ProviderIds":{"Tvdb":"1234"}}`)
|
||||
if got := seriesTVDBID(series); got != 1234 {
|
||||
t.Fatalf("series TVDB id = %d, want 1234", got)
|
||||
}
|
||||
movie := json.RawMessage(`{"Type":"Movie","ProviderIds":{"Tvdb":"1234"}}`)
|
||||
if got := seriesTVDBID(movie); got != 0 {
|
||||
t.Fatalf("movie TVDB id = %d, want 0", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user