Files
schedtxt_auth/internal/handler/register_test.go
T
phoenixandphoenix 689762c72a tsk-35: Update name of user (#38)
Closes #35

Reviewed-on: phoenix/textsender-auth#38
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2026-01-01 22:41:08 +00:00

66 lines
1.6 KiB
Go

package handler
import (
"encoding/json"
"net/http"
"net/http/httptest"
"strings"
"testing"
"github.com/stretchr/testify/assert"
"git.kundeng.us/phoenix/textsender-auth/internal/handler/endpoint"
"git.kundeng.us/phoenix/textsender-auth/internal/store/mock"
)
func TestCreateUserWithMock(t *testing.T) {
cfg := GetConfig()
mockstore := mock.NewMockUserStore()
handler := NewUserHandler(cfg, mockstore)
testUser := GetTestUser()
jsonValue, _ := json.Marshal(testUser)
req, _ := http.NewRequest("POST", endpoint.Register, strings.NewReader(string(jsonValue)))
rr := httptest.NewRecorder()
handler.Register(rr, req)
assert.Equal(t, http.StatusOK, rr.Code)
var response RegisterResponse
err := json.Unmarshal(rr.Body.Bytes(), &response)
assert.NoError(t, err)
assert.NotNil(t, response.Data[0].Id, "Id should not be nil")
}
func TestUpdateNameOfUser(t *testing.T) {
ctx := t.Context()
cfg := GetConfig()
userStore := mock.NewMockUserStore()
usr := GetTestUser()
if err := userStore.CreateUser(ctx, &usr); err != nil {
assert.NoError(t, err, "Error creating user")
}
testNameChange := UpdateNameRequest{}
testNameChange.Firstname = &[]string{"Bob"}[0]
testNameChange.Lastname = &[]string{"De-Buildor"}[0]
testNameChange.UserId = usr.Id
jsonValue, _ := json.Marshal(testNameChange)
req, _ := http.NewRequest("PATCH", endpoint.UpdateName, strings.NewReader(string(jsonValue)))
rr := httptest.NewRecorder()
handler := NewUserHandler(cfg, userStore)
handler.UpdateName(rr, req)
assert.Equal(t, http.StatusOK, rr.Code)
var response UpdateNameResponse
err := json.Unmarshal(rr.Body.Bytes(), &response)
assert.NoError(t, err)
}