package repos import ( "context" "gralias/models" "testing" "time" "github.com/stretchr/testify/assert" _ "github.com/mattn/go-sqlite3" ) func TestSettingsRepo_SettingsUpdate(t *testing.T) { db, teardown := setupTestDB(t) defer teardown() repo := &RepoProvider{DB: db} // Create a dummy room first room := &models.Room{ ID: "test_room_settings", CreatedAt: time.Now(), CreatorName: "test_creator", } _, err := db.Exec(`INSERT INTO rooms (id, created_at, creator_name) VALUES (?, ?, ?)`, room.ID, room.CreatedAt, room.CreatorName) assert.NoError(t, err) settings := &models.GameSettings{ RoomID: "test_room_settings", Language: "en", RoomPass: "pass123", RoundTime: 60, CreatedAt: time.Now(), } // Insert initial settings _, err = db.Exec(`INSERT INTO settings (room_id, language, room_pass, turn_time, created_at) VALUES (?, ?, ?, ?, ?)`, settings.RoomID, settings.Language, settings.RoomPass, settings.RoundTime, settings.CreatedAt) assert.NoError(t, err) // Update settings settings.RoundTime = 120 settings.Language = "ru" err = repo.SettingsUpdate(context.Background(), settings) assert.NoError(t, err) // Verify updated settings var updatedSettings models.GameSettings err = db.Get(&updatedSettings, "SELECT * FROM settings WHERE room_id = ?", settings.RoomID) assert.NoError(t, err) assert.Equal(t, uint32(120), updatedSettings.RoundTime) assert.Equal(t, "ru", updatedSettings.Language) }