Add user create

This commit is contained in:
jimmy 2022-09-19 22:34:31 +12:00
parent a0b56504d0
commit bacef2ffdb
2 changed files with 18 additions and 8 deletions

View File

@ -30,18 +30,17 @@ func (u User) Get(w http.ResponseWriter, r *http.Request) {
w.Header().Add("Content-Type", "application/json") w.Header().Add("Content-Type", "application/json")
} }
// "/user/{userid}" // "/user"
func (t User) Create(w http.ResponseWriter, r *http.Request) { func (User) Create(w http.ResponseWriter, r *http.Request) {
username := chi.URLParam(r, "username") var user models.User
if username == "" { if err := json.NewDecoder(r.Body).Decode(&user); err != nil {
http.Error(w, "Missing username", http.StatusNotFound) http.Error(w, err.Error(), http.StatusBadRequest)
} }
user := models.User{Username: username, Password: "a"}
if user.Create() != nil { if user.Create() != nil {
http.Error(w, "failed to create user", http.StatusInternalServerError) http.Error(w, "failed to create user", http.StatusInternalServerError)
return return
} }
} }
// // /users/application/:status/ // // /users/application/:status/

View File

@ -5,6 +5,7 @@ import (
"magmise/controllers" "magmise/controllers"
"magmise/models" "magmise/models"
"magmise/test" "magmise/test"
"net/http"
"testing" "testing"
) )
@ -23,7 +24,17 @@ func TestGetUser(t *testing.T) {
if usermodel.Username != "fred" { if usermodel.Username != "fred" {
t.Fatal(usermodel) t.Fatal(usermodel)
} }
t.Log(usermodel) }
// "/user"
func TestCreateUser(t *testing.T) {
setup := test.Setup(t, "create user")
defer setup()
var user controllers.User
w := test.Request(t, user.Create, "POST", "/user/{username}", `{"username": "fred", "password": "a"}`, nil)
if w.Code != http.StatusOK {
t.Fatal(w.Code, w.Result().Status)
}
} }
// // "/user/application/:userid/:discordid" // // "/user/application/:userid/:discordid"