package apitest import ( "net/url" "testing" "git.artlef.fr/bibliomane/internal/dto" "git.artlef.fr/bibliomane/internal/testutils" "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" ) func TestGetReadingBooksHandler_Demo(t *testing.T) { router := testutils.TestSetup() token := testutils.ConnectDemoUser(router) result := testGetReadingBooksHandler(t, router, token, 200, "", "") assert.Equal(t, 2, len(result.Books)) assert.Equal(t, int64(2), result.Count) } func TestGetReadingBooksHandler_Demo2(t *testing.T) { router := testutils.TestSetup() token := testutils.ConnectDemo2User(router) result := testGetReadingBooksHandler(t, router, token, 200, "", "") assert.Equal(t, 0, len(result.Books)) assert.Equal(t, int64(0), result.Count) } func testGetReadingBooksHandler(t *testing.T, router *gin.Engine, userToken string, expectedCode int, limit string, offset string) dto.BookUserGet { u, err := url.Parse("/ws/mybooks/reading") if err != nil { t.Error(err) } if limit != "" { q := u.Query() q.Set("limit", limit) u.RawQuery = q.Encode() } if offset != "" { q := u.Query() q.Set("offset", offset) u.RawQuery = q.Encode() } return testGetbooksHandler(t, router, userToken, expectedCode, u.String()) }