Collection form: add a button to remove added books

This commit is contained in:
2026-04-24 19:48:38 +02:00
parent 1ae76ed525
commit 08a273b500
9 changed files with 174 additions and 12 deletions

View File

@@ -0,0 +1,45 @@
package apitest
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
"git.artlef.fr/bibliomane/internal/testutils"
"github.com/stretchr/testify/assert"
)
func TestDeleteCollectionBookHandler_DelOk(t *testing.T) {
status := testDeleteCollectionBookHandler("23")
assert.Equal(t, http.StatusOK, status)
_, collection := testGetCollection(t, "6", "10", "0")
assert.Equal(t, int64(5), collection.Count)
assert.Equal(t, uint(1), collection.Items[0].Position)
assert.Equal(t, uint(2), collection.Items[1].Position)
assert.Equal(t, uint(3), collection.Items[2].Position)
assert.Equal(t, uint(4), collection.Items[3].Position)
assert.Equal(t, uint(5), collection.Items[4].Position)
}
func TestDeleteCollectionBookHandler_NotFound(t *testing.T) {
status := testDeleteCollectionBookHandler("425")
assert.Equal(t, http.StatusNotFound, status)
}
func TestDeleteCollectionBookHandler_Unauthorized(t *testing.T) {
status := testDeleteCollectionBookHandler("11")
assert.Equal(t, http.StatusUnauthorized, status)
}
func testDeleteCollectionBookHandler(itemId string) int {
router := testutils.TestSetup()
w := httptest.NewRecorder()
token := testutils.ConnectDemoUser(router)
req, _ := http.NewRequest("DELETE", "/ws/collection/item/"+itemId, nil)
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token))
router.ServeHTTP(w, req)
return w.Code
}