fixed filtering on connected user
added tests and updated demo data
This commit is contained in:
37
book_test.go
37
book_test.go
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user