56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package character
|
|
|
|
import (
|
|
"bamort/database"
|
|
"bamort/models"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"strconv"
|
|
"testing"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestDebugPracticePoints(t *testing.T) {
|
|
// Setup test database
|
|
database.SetupTestDB()
|
|
defer database.ResetTestDB()
|
|
|
|
// Migrate the schema
|
|
err := models.MigrateStructure()
|
|
assert.NoError(t, err)
|
|
|
|
// Create a test character manually using GORM
|
|
character := &models.Char{
|
|
BamortBase: models.BamortBase{
|
|
Name: "Test Character",
|
|
},
|
|
Rasse: "Human",
|
|
Typ: "Hx",
|
|
}
|
|
err = database.DB.Create(character).Error
|
|
assert.NoError(t, err)
|
|
|
|
// Setup Gin router
|
|
gin.SetMode(gin.TestMode)
|
|
router := gin.New()
|
|
|
|
// Register routes
|
|
api := router.Group("/api")
|
|
RegisterRoutes(api)
|
|
|
|
// Test the endpoint
|
|
req := httptest.NewRequest(http.MethodGet, "/api/characters/"+strconv.Itoa(int(character.ID))+"/practice-points", nil)
|
|
w := httptest.NewRecorder()
|
|
router.ServeHTTP(w, req)
|
|
|
|
t.Logf("Status: %d", w.Code)
|
|
t.Logf("Body: %s", w.Body.String())
|
|
|
|
// Check if the character exists in database
|
|
var testChar models.Char
|
|
err = database.DB.First(&testChar, character.ID).Error
|
|
t.Logf("Character exists in DB: %v, ID: %d, Error: %v", err == nil, character.ID, err)
|
|
}
|