package routes_test import ( "gitea.deepak.science/deepak/gogmagog/models" "gitea.deepak.science/deepak/gogmagog/routes" "gitea.deepak.science/deepak/gogmagog/tokens" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "testing" ) func TestEmptyCurrentUser(t *testing.T) { // set up assert := assert.New(t) m := getEmptyModel() router := routes.NewCurrentUserRouter(m) req, _ := http.NewRequestWithContext(tokens.GetContextForUserValues(3, "testing"), "GET", "/", nil) rr := httptest.NewRecorder() // function under test router.ServeHTTP(rr, req) // check results status := rr.Code assert.Equal(http.StatusNotFound, status) } func TestSingleUser(t *testing.T) { // set up assert := assert.New(t) m := getEmptyModel() idToUse := 1 username := "testing_username" displayName := "testing_name" password := "pass" m.CreateUser(&models.CreateUserRequest{Username: username, DisplayName: displayName, Password: password}) router := routes.NewCurrentUserRouter(m) req, _ := http.NewRequestWithContext(tokens.GetContextForUserValues(idToUse, username), "GET", "/", nil) rr := httptest.NewRecorder() // function under test router.ServeHTTP(rr, req) // check results status := rr.Code assert.Equal(http.StatusOK, status) expected := `{ "user_id": 1, "username": "testing_username", "display_name": "testing_name" }` assert.JSONEq(expected, rr.Body.String()) contentType := rr.Header().Get("Content-Type") assert.Equal("application/json", contentType) }