fixed filtering on connected user

added tests and updated demo data
This commit is contained in:
2025-10-08 15:55:25 +02:00
parent c9991118ee
commit 1cc7881ff0
3 changed files with 41 additions and 8 deletions

View File

@@ -31,6 +31,19 @@ func connectDemoUser(router *gin.Engine) string {
"username": "demo",
"password":"demopw"
}`
return connectUser(router, loginJson)
}
func connectDemo2User(router *gin.Engine) string {
loginJson :=
`{
"username": "demo2",
"password":"demopw"
}`
return connectUser(router, loginJson)
}
func connectUser(router *gin.Engine, loginJson string) string {
w := httptest.NewRecorder()
req, _ := http.NewRequest("POST", "/auth/login", strings.NewReader(loginJson))
router.ServeHTTP(w, req)
@@ -48,13 +61,27 @@ type bookUserGet struct {
Rating int `json:"rating" binding:"min=0,max=10"`
}
func TestGetBooksHandler(t *testing.T) {
func TestGetBooksHandler_Demo(t *testing.T) {
router := testSetup()
w := httptest.NewRecorder()
token := connectDemoUser(router)
books := testGetbooksHandler(t, router, token, 200)
assert.Equal(t, 26, len(books))
}
func TestGetBooksHandler_Demo2(t *testing.T) {
router := testSetup()
token := connectDemo2User(router)
books := testGetbooksHandler(t, router, token, 200)
assert.Equal(t, 2, len(books))
}
func testGetbooksHandler(t *testing.T, router *gin.Engine, userToken string, expectedCode int) []bookUserGet {
req, _ := http.NewRequest("GET", "/mybooks", nil)
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token))
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", userToken))
w := httptest.NewRecorder()
router.ServeHTTP(w, req)
var parsedResponse []bookUserGet
@@ -62,8 +89,8 @@ func TestGetBooksHandler(t *testing.T) {
if err != nil {
log.Fatal(err)
}
assert.Equal(t, 200, w.Code)
assert.Equal(t, 28, len(parsedResponse))
assert.Equal(t, expectedCode, w.Code)
return parsedResponse
}
func TestPostBookHandler_Ok(t *testing.T) {