Name, major and class-year validators with tests
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Lee supabase/schemas/dogpack/tables/profiles.sql para conocer los límites del perfil y el enum en supabase/schemas/dogpack/types/ para consultar los años de clase válidos. Implementa los tres validadores puros de Dart en lib/onboarding/profile_validators.dart y cubre los límites indicados y los valores del enum en test/profile_validators_test.dart. La tarea estará terminada cuando pase la prueba específica flutter test test/profile_validators_test.dart y los mensajes cumplan los criterios de aceptación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What to build
Pure Dart validators for the profile fields, mirroring the database limits in supabase/schemas/dogpack/tables/profiles.sql (display name 1 to 60 characters after trimming, major 1 to 80 after trimming, class year one of the dogpack."classYear" values; read the enum in supabase/schemas/dogpack/types/). Each returns null when valid or a short message a form field can show.
String? validateDisplayName(String? input);
String? validateMajor(String? input);
String? validateClassYear(String? input);
Files
- new
lib/onboarding/profile_validators.dart - new
test/profile_validators_test.dart
Acceptance
- Boundary tests at 0, 1, 60, 61 characters for the name and 0, 1, 80, 81 for the major; whitespace-only counts as empty.
- Class year accepts exactly the enum values and nothing else.
- Messages are plain English, no jargon, under 60 characters.
- No Flutter imports.
How to check
flutter test test/profile_validators_test.dart.
Before you start
Setup is in first contribution. Run flutter analyze and flutter test before you open the PR; both must pass. Keep the change to the files listed. Comment on this issue to claim it.
- Lenguaje dominante
- PLpgSQL
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DevDogsUGA/DogPack
-
discover
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
DevDogsUGA/DogPack#14 ·
-
onboarding
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
DevDogsUGA/DogPack#10 ·
-
good first issue onboarding
Dificultad 2/5 1-3 horas Aptitud para principiantes 91/100
DevDogsUGA/DogPack#7 ·
-
good first issue polish
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
DevDogsUGA/DogPack#4 ·
-
good first issue polish
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
DevDogsUGA/DogPack#3 ·
Todos los issues de DevDogsUGA/DogPack
Issues similares
-
bug help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[BUG] 增量 SSE 解析器未识别单独 CR 换行,导致事件无法及时交付Posiblemente ocupada @king-wwwhhh la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
langchain4j/langchain4j#6669 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
microsoft/playwright#43327 ·
Los mantenedores suelen responder en 1 día
-
Rename FunctionalRole BOT_DEV to DEV_STAFFPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
pesu-dev/discord_bot#97 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/TypeScript#64758 ·
Los mantenedores suelen responder en 1 día