package user // DEPRECATED TEST FILE // import ( // "os" // "path/filepath" // "testing" // "gorm.io/driver/sqlite" // "gorm.io/gorm" // ) // func setupTestDB(t *testing.T) *gorm.DB { // t.Helper() // dbPath := filepath.Join("testdata", "users.db") // _ = os.Remove(dbPath) // db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) // if err != nil { // t.Fatalf("failed to open db: %v", err) // } // if err := db.AutoMigrate(&User{}); err != nil { // t.Fatalf("failed to migrate: %v", err) // } // return db // } // func TestUsersCRUD(t *testing.T) { // db := setupTestDB(t) // store, err := NewGormUserStore(db) // if err != nil { // t.Fatalf("failed to create store: %v", err) // } // service, err := NewService(store) // if err != nil { // t.Fatalf("failed to create service: %v", err) // } // user := &User{ // Username: "testuser", // Email: "test@example.com", // Password: "password123", // } // if err := service.Create(user); err != nil { // t.Fatalf("failed to create user: %v", err) // } // // retrieved, err := service.GetByID(user.ID) // // if err != nil { // // t.Fatalf("failed to get user by ID: %v", err) // // } // // if retrieved.Username != user.Username { // // t.Fatalf("expected username %s, got %s", user.Username, retrieved.Username) // // } // // retrievedByUsername, err := service.GetByUsername(user.Username) // // if err != nil { // // t.Fatalf("failed to get user by username: %v", err) // // } // // if retrievedByUsername.Email != user.Email { // // t.Fatalf("expected email %s, got %s", user.Email, retrievedByUsername.Email) // // } // // user.Email = "newemail@example.com" // // if err := service.Update(user); err != nil { // // t.Fatalf("failed to update user: %v", err) // // } // // retrieved, err = service.GetByID(user.ID) // // if err != nil { // // t.Fatalf("failed to get user by ID: %v", err) // // } // // if retrieved.Email != user.Email { // // t.Fatalf("expected email %s, got %s", user.Email, retrieved.Email) // // } // err = service.Delete(user.ID) // if err != nil { // t.Fatalf("failed to delete user: %v", err) // } // }