# Required data-testid Attributes for Profile Editor ## Overview This document lists **ALL** required `data-testid` attributes for the Profile Editor form to enable complete automation testing. **Naming Convention**: `profile_editor__{element_name}` --- ## Page-Level Attributes | Attribute | Element | Description | |-----------|---------|-------------| | `profile_editor__page` | Main container | Page wrapper element | | `profile_editor__progress_value` | Progress indicator | Shows completion percentage (e.g., "51%") | | `profile_editor__missing_fields_toggle` | Toggle button | Show/hide missing fields only | --- ## Navigation Buttons | Attribute | Element | Description | |-----------|---------|-------------| | `profile_editor__prev_button` | Previous button | Navigate to previous step | | `profile_editor__next_button` | Next button | Navigate to next step | | `profile_editor__cancel_button` | Cancel button | Cancel profile editing | | `profile_editor__save_button` | Save button | Save current step | --- ## Step 1: Personal Information | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__first_name_input` | First Name | Input | ✅ | | `profile_editor__last_name_input` | Last Name | Input | ✅ | | `profile_editor__gender_select` | Gender | Select/Dropdown | ✅ | | `profile_editor__dob_input` | Date of Birth | Input (Date) | ✅ | | `profile_editor__roll_number_input` | Roll Number | Input | ✅ | | `profile_editor__nationality_input` | Nationality | Input | ✅ | | `profile_editor__language_input` | Language | Input | ⚠️ | | `profile_editor__student_id_input` | Student ID Number | Input | ⚠️ | | `profile_editor__student_cpid_input` | Student CPID | Input | ⚠️ | | `profile_editor__specially_abled_checkbox` | Specially Abled | Checkbox | ⚠️ | --- ## Step 2: Contact Information | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__email_input` | Email | Input | ⚠️ | | `profile_editor__phone_input` | Phone | Input | ✅ | | `profile_editor__address_input` | Address | Input/Textarea | ✅ | | `profile_editor__city_input` | City | Input | ⚠️ | | `profile_editor__state_input` | State | Input | ⚠️ | | `profile_editor__zip_code_input` | ZIP Code | Input | ⚠️ | | `profile_editor__native_state_input` | Native State | Input | ⚠️ | --- ## Step 3: Parent/Guardian Information ### Father's Details | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__father_full_name_input` | Father Full Name | Input | ⚠️ | | `profile_editor__father_age_range_select` | Father Age Range | Select/Dropdown | ⚠️ | | `profile_editor__father_occupation_input` | Father Occupation | Input | ⚠️ | | `profile_editor__father_email_input` | Father Email | Input | ⚠️ | ### Mother's Details | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__mother_full_name_input` | Mother Full Name | Input | ⚠️ | | `profile_editor__mother_age_range_select` | Mother Age Range | Select/Dropdown | ⚠️ | | `profile_editor__mother_occupation_input` | Mother Occupation | Input | ⚠️ | | `profile_editor__mother_email_input` | Mother Email | Input | ⚠️ | ### Guardian (If Different) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__guardian_different_checkbox` | Guardian is different | Checkbox | ⚠️ | | `profile_editor__guardian_full_name_input` | Guardian Full Name | Input | ⚠️ | | `profile_editor__guardian_age_range_select` | Guardian Age Range | Select/Dropdown | ⚠️ | | `profile_editor__guardian_occupation_input` | Guardian Occupation | Input | ⚠️ | | `profile_editor__guardian_email_input` | Guardian Email | Input | ⚠️ | --- ## Step 4: Education Details | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__full_name_input` | Full Name | Input | ✅ | | `profile_editor__current_grade_input` | Current Grade/Class | Input | ⚠️ | | `profile_editor__section_input` | Section or Stream | Input | ⚠️ | | `profile_editor__board_stream_select` | Board/Stream | Select/Dropdown | ⚠️ | --- ## Step 5: Focus Areas ### Short-term Focus Areas (Pick 3) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__short_term_focus_academics` | Academics | Checkbox | ✅ | | `profile_editor__short_term_focus_family` | Family | Checkbox | ✅ | | `profile_editor__short_term_focus_health` | Health | Checkbox | ✅ | | `profile_editor__short_term_focus_friendship` | Friendship | Checkbox | ✅ | | `profile_editor__short_term_focus_emotional` | Emotional management | Checkbox | ✅ | | `profile_editor__short_term_focus_personal_growth` | Personal Growth | Checkbox | ✅ | | `profile_editor__short_term_focus_hobbies` | Hobbies | Checkbox | ✅ | | `profile_editor__short_term_focus_physical` | Physical Activities | Checkbox | ✅ | | `profile_editor__short_term_focus_future` | Future Aspiration | Checkbox | ✅ | | `profile_editor__short_term_focus_others` | Others | Checkbox | ✅ | | `profile_editor__short_term_focus_others_text` | Others (Text Input) | Input | ⚠️ | ### Long-term Focus Areas (Pick 3) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__long_term_focus_academics` | Academics | Checkbox | ✅ | | `profile_editor__long_term_focus_family` | Family | Checkbox | ✅ | | `profile_editor__long_term_focus_health` | Health | Checkbox | ✅ | | `profile_editor__long_term_focus_friendship` | Friendship | Checkbox | ✅ | | `profile_editor__long_term_focus_emotional` | Emotional management | Checkbox | ✅ | | `profile_editor__long_term_focus_personal_growth` | Personal Growth | Checkbox | ✅ | | `profile_editor__long_term_focus_hobbies` | Hobbies | Checkbox | ✅ | | `profile_editor__long_term_focus_physical` | Physical Activities | Checkbox | ✅ | | `profile_editor__long_term_focus_future` | Future Aspiration | Checkbox | ✅ | | `profile_editor__long_term_focus_others` | Others | Checkbox | ✅ | | `profile_editor__long_term_focus_others_text` | Others (Text Input) | Input | ⚠️ | --- ## Step 6: Self-Assessment ### Strengths/Special Skills (Pick 3) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__strength_quick_learning` | Quick Learning | Checkbox | ✅ | | `profile_editor__strength_curiosity` | Curiosity | Checkbox | ✅ | | `profile_editor__strength_problem_solving` | Problem-Solving | Checkbox | ✅ | | `profile_editor__strength_justice` | Sense of Justice and Fairness | Checkbox | ✅ | | `profile_editor__strength_empathy` | Empathy | Checkbox | ✅ | | `profile_editor__strength_risk_taking` | Risk Taking | Checkbox | ✅ | | `profile_editor__strength_compassion` | Compassion | Checkbox | ✅ | | `profile_editor__strength_creative` | Creative Skills | Checkbox | ✅ | | `profile_editor__strength_technical` | Technical Skills | Checkbox | ✅ | | `profile_editor__strength_leadership` | Leadership | Checkbox | ✅ | | `profile_editor__strength_communication` | Communication | Checkbox | ✅ | | `profile_editor__strength_athletic` | Athletic Talents | Checkbox | ✅ | | `profile_editor__strength_languages` | Languages | Checkbox | ✅ | | `profile_editor__strength_research` | Research Skills | Checkbox | ✅ | | `profile_editor__strength_critical_thinking` | Critical Thinking | Checkbox | ✅ | | `profile_editor__strength_artistic` | Artistic Talent | Checkbox | ✅ | | `profile_editor__strength_others` | Others | Checkbox | ✅ | | `profile_editor__strength_others_text` | Others (Text Input) | Input | ⚠️ | ### Areas of Improvement (Pick 3) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__improvement_quick_learning` | Quick Learning | Checkbox | ✅ | | `profile_editor__improvement_curiosity` | Curiosity | Checkbox | ✅ | | `profile_editor__improvement_problem_solving` | Problem-Solving | Checkbox | ✅ | | `profile_editor__improvement_justice` | Sense of Justice and Fairness | Checkbox | ✅ | | `profile_editor__improvement_empathy` | Empathy | Checkbox | ✅ | | `profile_editor__improvement_risk_taking` | Risk Taking | Checkbox | ✅ | | `profile_editor__improvement_compassion` | Compassion | Checkbox | ✅ | | `profile_editor__improvement_creative` | Creative Skills | Checkbox | ✅ | | `profile_editor__improvement_technical` | Technical Skills | Checkbox | ✅ | | `profile_editor__improvement_leadership` | Leadership | Checkbox | ✅ | | `profile_editor__improvement_communication` | Communication | Checkbox | ✅ | | `profile_editor__improvement_athletic` | Athletic Talents | Checkbox | ✅ | | `profile_editor__improvement_languages` | Languages | Checkbox | ✅ | | `profile_editor__improvement_research` | Research Skills | Checkbox | ✅ | | `profile_editor__improvement_critical_thinking` | Critical Thinking | Checkbox | ✅ | | `profile_editor__improvement_artistic` | Artistic Talent | Checkbox | ✅ | | `profile_editor__improvement_others` | Others | Checkbox | ✅ | | `profile_editor__improvement_others_text` | Others (Text Input) | Input | ⚠️ | --- ## Step 7: Hobbies & Clubs ### Hobbies/Interests (Pick 3) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__hobby_reading` | Reading | Checkbox | ✅ | | `profile_editor__hobby_musical` | Playing Musical Instruments | Checkbox | ✅ | | `profile_editor__hobby_sports` | Sports | Checkbox | ✅ | | `profile_editor__hobby_arts_crafts` | Arts and Crafts | Checkbox | ✅ | | `profile_editor__hobby_cooking` | Cooking and Baking | Checkbox | ✅ | | `profile_editor__hobby_gardening` | Gardening | Checkbox | ✅ | | `profile_editor__hobby_gaming` | Gaming | Checkbox | ✅ | | `profile_editor__hobby_traveling` | Traveling | Checkbox | ✅ | | `profile_editor__hobby_volunteering` | Volunteering | Checkbox | ✅ | | `profile_editor__hobby_learning` | Learning New Skills | Checkbox | ✅ | | `profile_editor__hobby_singing` | Singing | Checkbox | ✅ | | `profile_editor__hobby_other` | Other | Checkbox | ✅ | | `profile_editor__hobby_other_text` | Other (Text Input) | Input | ⚠️ | ### Clubs or Teams | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__club_science` | Science Club | Checkbox | ✅ | | `profile_editor__club_mathematics` | Mathematics Club | Checkbox | ✅ | | `profile_editor__club_quiz` | Quiz Club | Checkbox | ✅ | | `profile_editor__club_literary` | Literary Club | Checkbox | ✅ | | `profile_editor__club_robotics` | Robotics Club | Checkbox | ✅ | | `profile_editor__club_art` | Art Club | Checkbox | ✅ | | `profile_editor__club_music` | Music Club | Checkbox | ✅ | | `profile_editor__club_dramatics` | Dramatics / Theatre Club | Checkbox | ✅ | | `profile_editor__club_sports` | Sports Club | Checkbox | ✅ | | `profile_editor__club_community` | Community Service Club | Checkbox | ✅ | | `profile_editor__club_mun` | Model United Nations (MUN) | Checkbox | ✅ | | `profile_editor__club_other` | Other | Checkbox | ✅ | | `profile_editor__club_other_text` | Other (Text Input) | Input | ⚠️ | --- ## Step 8: Achievements | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__achievement_academics_textarea` | Academics (Please specify) | Textarea | ⚠️ | | `profile_editor__achievement_sports_textarea` | Sports (Please specify) | Textarea | ⚠️ | | `profile_editor__achievement_cultural_textarea` | Cultural/Arts (Please specify) | Textarea | ⚠️ | | `profile_editor__achievement_others_textarea` | Others (Please specify) | Textarea | ⚠️ | --- ## Step 9: Expectations | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__expectation_self_understanding` | Self-Understanding | Checkbox | ✅ | | `profile_editor__expectation_career_guidance` | Career Guidance | Checkbox | ✅ | | `profile_editor__expectation_academic_support` | Academic Support | Checkbox | ✅ | | `profile_editor__expectation_validation` | Validation / Reassurance | Checkbox | ✅ | | `profile_editor__expectation_decision_making` | Improved Decision-Making | Checkbox | ✅ | | `profile_editor__expectation_clarity` | Clarity About Strengths and Weaknesses | Checkbox | ✅ | | `profile_editor__expectation_personal_growth` | Personal Growth | Checkbox | ✅ | | `profile_editor__expectation_objective_feedback` | Objective Feedback | Checkbox | ✅ | | `profile_editor__expectation_actionable_steps` | Actionable Next Steps | Checkbox | ✅ | | `profile_editor__expectation_others` | Others | Checkbox | ✅ | | `profile_editor__expectation_others_text` | Others (Text Input) | Input | ⚠️ | --- ## Step Navigation Tabs (Optional - for direct navigation) | Attribute | Element | Type | Required | |-----------|---------|------|----------| | `profile_editor__tab_personal_information` | Personal Information Tab | Button/Link | ⚠️ | | `profile_editor__tab_contact_information` | Contact Information Tab | Button/Link | ⚠️ | | `profile_editor__tab_parent_guardian` | Parent/Guardian Tab | Button/Link | ⚠️ | | `profile_editor__tab_education_details` | Education Details Tab | Button/Link | ⚠️ | | `profile_editor__tab_focus_areas` | Focus Areas Tab | Button/Link | ⚠️ | | `profile_editor__tab_self_assessment` | Self-Assessment Tab | Button/Link | ⚠️ | | `profile_editor__tab_hobbies_clubs` | Hobbies & Clubs Tab | Button/Link | ⚠️ | | `profile_editor__tab_achievements` | Achievements Tab | Button/Link | ⚠️ | | `profile_editor__tab_expectations` | Expectations Tab | Button/Link | ⚠️ | --- ## Summary ### Total Attributes Required: **~150+** ### Breakdown: - **Page-Level**: 3 attributes - **Navigation**: 4 attributes - **Step 1 (Personal Information)**: 10 attributes - **Step 2 (Contact Information)**: 7 attributes - **Step 3 (Parent/Guardian)**: 13 attributes - **Step 4 (Education Details)**: 4 attributes - **Step 5 (Focus Areas)**: 22 attributes (11 short-term + 11 long-term) - **Step 6 (Self-Assessment)**: 36 attributes (18 strengths + 18 improvements) - **Step 7 (Hobbies & Clubs)**: 26 attributes (13 hobbies + 13 clubs) - **Step 8 (Achievements)**: 4 attributes - **Step 9 (Expectations)**: 11 attributes - **Step Navigation Tabs**: 9 attributes (optional) --- ## Implementation Notes 1. **All interactive elements** (inputs, selects, checkboxes, buttons) must have `data-testid` attributes 2. **Naming convention**: `profile_editor__{element_name}` (lowercase, underscores) 3. **Checkboxes**: Use the exact attribute names listed above 4. **Text inputs**: For "Others" options, include both checkbox and text input attributes 5. **Textareas**: Use `_textarea` suffix for multi-line text inputs 6. **Selects/Dropdowns**: Use `_select` suffix for dropdown elements --- ## Priority - **✅ Critical**: Required for basic automation - **⚠️ Important**: Required for complete automation but can be added later --- ## Next Steps 1. **Dev Team**: Add all `data-testid` attributes as per this list 2. **QA Team**: Verify all attributes are present and correctly named 3. **Automation Team**: Update page objects once attributes are added 4. **Testing**: Run complete profile automation flow --- **Document Version**: 1.0 **Date**: November 18, 2025 **Status**: Ready for Dev Implementation