# Missing data-testid Attributes - Quick List for Dev Team

## Summary
- **Total Required**: 154 attributes
- **Currently Implemented**: 14 attributes (9%)
- **Missing**: 140+ attributes (91%)

---

## Quick Implementation Checklist

### ✅ Already Implemented (14)
- `profile_editor__page`
- `profile_editor__progress_value`
- `profile_editor__missing_fields_toggle`
- `profile_editor__first_name_input`
- `profile_editor__last_name_input`
- `profile_editor__gender_select`
- `profile_editor__dob_input`
- `profile_editor__roll_number_input`
- `profile_editor__nationality_input`
- `profile_editor__phone_input`
- `profile_editor__address_input`
- `profile_editor__full_name_input`
- `profile_editor__tab_{tab_name}` (dynamic)
- `profile_editor__save_button`

---

## ❌ Missing Attributes (140+)

### Navigation Buttons (3)
```
profile_editor__prev_button
profile_editor__next_button
profile_editor__cancel_button
```

### Step 1: Personal Information (5)
```
profile_editor__language_input
profile_editor__student_id_input
profile_editor__student_cpid_input
profile_editor__specially_abled_checkbox
profile_editor__specially_abled_details_textarea
```

### Step 2: Contact Information (5)
```
profile_editor__email_input
profile_editor__city_input
profile_editor__state_input
profile_editor__zip_code_input
profile_editor__native_state_input
```

### Step 3: Parent/Guardian (13)
```
profile_editor__father_full_name_input
profile_editor__father_age_range_select
profile_editor__father_occupation_input
profile_editor__father_email_input
profile_editor__mother_full_name_input
profile_editor__mother_age_range_select
profile_editor__mother_occupation_input
profile_editor__mother_email_input
profile_editor__guardian_different_checkbox
profile_editor__guardian_full_name_input
profile_editor__guardian_relationship_input
profile_editor__guardian_phone_input
profile_editor__guardian_email_input
profile_editor__guardian_address_input
```

### Step 4: Education Details (3)
```
profile_editor__current_grade_input
profile_editor__section_input
profile_editor__board_stream_select
```

### Step 5: Focus Areas (22)
```
profile_editor__short_term_focus_academics
profile_editor__short_term_focus_family
profile_editor__short_term_focus_health
profile_editor__short_term_focus_friendship
profile_editor__short_term_focus_emotional
profile_editor__short_term_focus_personal_growth
profile_editor__short_term_focus_hobbies
profile_editor__short_term_focus_physical
profile_editor__short_term_focus_future
profile_editor__short_term_focus_others
profile_editor__short_term_focus_others_text
profile_editor__long_term_focus_academics
profile_editor__long_term_focus_family
profile_editor__long_term_focus_health
profile_editor__long_term_focus_friendship
profile_editor__long_term_focus_emotional
profile_editor__long_term_focus_personal_growth
profile_editor__long_term_focus_hobbies
profile_editor__long_term_focus_physical
profile_editor__long_term_focus_future
profile_editor__long_term_focus_others
profile_editor__long_term_focus_others_text
```

### Step 6: Self-Assessment (36)
```
profile_editor__strength_quick_learning
profile_editor__strength_curiosity
profile_editor__strength_problem_solving
profile_editor__strength_justice
profile_editor__strength_empathy
profile_editor__strength_risk_taking
profile_editor__strength_compassion
profile_editor__strength_creative
profile_editor__strength_technical
profile_editor__strength_leadership
profile_editor__strength_communication
profile_editor__strength_athletic
profile_editor__strength_languages
profile_editor__strength_research
profile_editor__strength_critical_thinking
profile_editor__strength_artistic
profile_editor__strength_others
profile_editor__strength_others_text
profile_editor__improvement_quick_learning
profile_editor__improvement_curiosity
profile_editor__improvement_problem_solving
profile_editor__improvement_justice
profile_editor__improvement_empathy
profile_editor__improvement_risk_taking
profile_editor__improvement_compassion
profile_editor__improvement_creative
profile_editor__improvement_technical
profile_editor__improvement_leadership
profile_editor__improvement_communication
profile_editor__improvement_athletic
profile_editor__improvement_languages
profile_editor__improvement_research
profile_editor__improvement_critical_thinking
profile_editor__improvement_artistic
profile_editor__improvement_others
profile_editor__improvement_others_text
```

### Step 7: Hobbies & Clubs (26)
```
profile_editor__hobby_reading
profile_editor__hobby_musical
profile_editor__hobby_sports
profile_editor__hobby_arts_crafts
profile_editor__hobby_cooking
profile_editor__hobby_gardening
profile_editor__hobby_gaming
profile_editor__hobby_traveling
profile_editor__hobby_volunteering
profile_editor__hobby_learning
profile_editor__hobby_singing
profile_editor__hobby_other
profile_editor__hobby_other_text
profile_editor__club_science
profile_editor__club_mathematics
profile_editor__club_quiz
profile_editor__club_literary
profile_editor__club_robotics
profile_editor__club_art
profile_editor__club_music
profile_editor__club_dramatics
profile_editor__club_sports
profile_editor__club_community
profile_editor__club_mun
profile_editor__club_other
profile_editor__club_other_text
```

### Step 8: Achievements (5)
```
profile_editor__achievement_academics_textarea
profile_editor__achievement_sports_textarea
profile_editor__achievement_cultural_textarea
profile_editor__achievement_trained_textarea
profile_editor__achievement_others_textarea
```

### Step 9: Expectations (11)
```
profile_editor__expectation_self_understanding
profile_editor__expectation_career_guidance
profile_editor__expectation_academic_support
profile_editor__expectation_validation
profile_editor__expectation_decision_making
profile_editor__expectation_clarity
profile_editor__expectation_personal_growth
profile_editor__expectation_objective_feedback
profile_editor__expectation_actionable_steps
profile_editor__expectation_others
profile_editor__expectation_others_text
```

---

## Critical Code Changes Needed

### 1. MultiSelectPicker Component (Line 147)
Add `testIdPrefix` prop and `data-testid` to checkboxes:

```jsx
const MultiSelectPicker = ({ options, selectedItems, onToggle, maxItems = 3, icon: Icon, testIdPrefix }) => {
  // ...
  <input
    type="checkbox"
    data-testid={`${testIdPrefix}_${formatTestId(option)}`}
    // ...
  />
}
```

### 2. Clubs Mapping (Line 1434)
Add `data-testid` to each checkbox:

```jsx
{CLUBS_OPTIONS.map((club) => (
  <input
    type="checkbox"
    data-testid={`profile_editor__club_${formatTestId(club)}`}
    // ...
  />
))}
```

### 3. All Text Inputs
Add `data-testid="profile_editor__{field_name}_input"` to each input.

### 4. All Select Dropdowns
Add `data-testid="profile_editor__{field_name}_select"` to each select.

### 5. All Textareas
Add `data-testid="profile_editor__{field_name}_textarea"` to each textarea.

### 6. Navigation Buttons (Lines 1845, 1854, 1866)
Add `data-testid` to Prev, Next, and Cancel buttons.

---

**Total Missing**: 140+ attributes  
**Priority**: High - Required for automation testing  
**Status**: Ready for Dev Implementation

