package inventaire import ( "testing" "github.com/stretchr/testify/assert" ) func TestCallInventaireSearch_NoParameters(t *testing.T) { result, err := CallInventaireSearch("salammbo", "", 0, 0) if err != nil { t.Error(err) } assert.Equal(t, int64(17), result.Total) assert.Equal(t, 10, len(result.Results)) } func TestCallInventaireSearch_NoLimit(t *testing.T) { result, err := CallInventaireSearch("salammbo", "fr", 0, 0) if err != nil { t.Error(err) } assert.Equal(t, int64(17), result.Total) assert.Equal(t, 10, len(result.Results)) } func TestCallInventaireSearch_Limit(t *testing.T) { result, err := CallInventaireSearch("salammbo", "fr", 5, 0) if err != nil { t.Error(err) } assert.Equal(t, int64(17), result.Total) assert.Equal(t, 5, len(result.Results)) } func TestCallInventaireSearch_Offset(t *testing.T) { result, err := CallInventaireSearch("salammbo", "fr", 0, 15) if err != nil { t.Error(err) } assert.Equal(t, int64(17), result.Total) assert.Equal(t, 2, len(result.Results)) } func TestCallInventaireBook_BraveNewWorld(t *testing.T) { result, err := CallInventaireBook("Q191949", "fr") if err != nil { t.Error(err) } assert.Equal(t, "Le Meilleur des mondes", result.Title) assert.Equal(t, "roman de Aldous Huxley", result.Description) assert.Equal(t, "Q81447", result.Author.ID) assert.Equal(t, "Aldous Huxley", result.Author.Name) assert.Equal(t, "écrivain, romancier et philosophe britannique (1894–1963)", result.Author.Description) } func TestCallInventaireEdition_TestLimit(t *testing.T) { result, err := CallInventaireEdition("wd:Q339761", "fr", 10, 0) if err != nil { t.Error(err) } assert.Equal(t, int64(34), result.Count) assert.Equal(t, 10, len(result.Results)) } func TestCallInventaireEdition_TestOffset(t *testing.T) { result, err := CallInventaireEdition("wd:Q3213142", "fr", 0, 0) if err != nil { t.Error(err) } assert.Equal(t, 3, len(result.Results)) assert.Equal(t, InventaireEditionResultBook{ Id: "isbn:9782070138098", Title: "La théorie de l'information", ISBN: "978-2-07-013809-8", Publisher: "Éditions Gallimard", ReleaseDate: "2012", Image: "https://inventaire.io/img/entities/a7b9d05c041b98e98c2f429e11cb2b424d78223b", Lang: "fr", }, result.Results[0]) assert.Equal(t, InventaireEditionResultBook{ Id: "isbn:9782070456260", Title: "La théorie de l'information", ISBN: "978-2-07-045626-0", ReleaseDate: "2014", Image: "https://inventaire.io/img/entities/5044c2265cc42675ac4335387aef189862cbeec1", Lang: "fr", }, result.Results[1]) assert.Equal(t, InventaireEditionResultBook{ Id: "isbn:9782072525216", Title: "La théorie de l'information", ISBN: "978-2-07-252521-6", ReleaseDate: "", Image: "https://inventaire.io/img/entities/fac578440d9bf7afc7f4c5698aa618b8a4d80d21", Lang: "fr", }, result.Results[2]) }