Book form: can now edit an existing book
This commit is contained in:
56
internal/apitest/put_book_test.go
Normal file
56
internal/apitest/put_book_test.go
Normal file
@@ -0,0 +1,56 @@
|
||||
package apitest
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"git.artlef.fr/bibliomane/internal/testutils"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestPutBookHandler_TitleChange(t *testing.T) {
|
||||
bookId := "17"
|
||||
bookJson :=
|
||||
`{
|
||||
"title": "Le coup de pistolaid"
|
||||
}`
|
||||
testPutBook(t, bookJson, bookId, 200)
|
||||
modifiedBook := testGetBook(t, bookId, http.StatusOK)
|
||||
assert.Equal(t, "Le coup de pistolaid", modifiedBook.Title)
|
||||
}
|
||||
|
||||
func TestPutBookHandler_Author(t *testing.T) {
|
||||
bookId := "17"
|
||||
bookJson :=
|
||||
`{
|
||||
"author": "Alexander Pouchkine"
|
||||
}`
|
||||
testPutBook(t, bookJson, bookId, 200)
|
||||
modifiedBook := testGetBook(t, bookId, http.StatusOK)
|
||||
assert.Equal(t, "Alexander Pouchkine", modifiedBook.Author)
|
||||
}
|
||||
|
||||
func TestPutBookHandler_MultipleFields(t *testing.T) {
|
||||
bookId := "17"
|
||||
bookJson :=
|
||||
`{
|
||||
"title": "Le pistolet",
|
||||
"author": "Pouchkine",
|
||||
"isbn": "978-2-07-036803-7",
|
||||
"inventaireid": "isbn:9782070368037",
|
||||
"openlibraryid": "OL8838048M",
|
||||
"shortdescription": "Roman de Pouchkine",
|
||||
"summary": "En garnison dans une petite ville, un officier de l'armée impériale russe rencontre Silvio, ancien soldat et tireur exceptionnel. Celui-ci fait forte impression sur lui, jusqu'au jour où il refuse, à la suite d'un affront, de se battre en duel."
|
||||
}`
|
||||
testPutBook(t, bookJson, bookId, 200)
|
||||
modifiedBook := testGetBook(t, bookId, http.StatusOK)
|
||||
assert.Equal(t, "Le pistolet", modifiedBook.Title)
|
||||
assert.Equal(t, "Pouchkine", modifiedBook.Author)
|
||||
assert.Equal(t, "978-2-07-036803-7", modifiedBook.ISBN)
|
||||
assert.Equal(t, "OL8838048M", modifiedBook.OpenLibraryId)
|
||||
assert.Equal(t, "En garnison dans une petite ville, un officier de l'armée impériale russe rencontre Silvio, ancien soldat et tireur exceptionnel. Celui-ci fait forte impression sur lui, jusqu'au jour où il refuse, à la suite d'un affront, de se battre en duel.", modifiedBook.Summary)
|
||||
}
|
||||
|
||||
func testPutBook(t *testing.T, payload string, bookId string, expectedCode int) {
|
||||
testutils.TestBookPutCallWithDemoPayload(t, payload, bookId, expectedCode, "/ws/book/edit/"+bookId)
|
||||
}
|
||||
Reference in New Issue
Block a user