ApplETS / Notre-Dame

The 4th generation of ÉTSMobile, the main gateway between the École de technologie supérieure and its students on mobile devices
Apache License 2.0
39 stars 11 forks source link

Feature/refactor login view #1083

Closed Spoodern0t closed 1 week ago

Spoodern0t commented 1 week ago

⁉️ Related Issue

Closes #1082

📖 Description

Moved several widgets from login_view.dart to their own files in order to increase legibility. Said new files are located at features/welcome/widgets

🧪 How Has This Been Tested?

This was tested by trying multiple login attempts (valid and invalid) and making sure that each widget responded the way it did before the change. The change does not affect any classes or files beyond login_view.dart, and the core function of the moved widgets was left intact.

☑️ Checklist before requesting a review

🖼️ Screenshots (if useful):

sonarcloud[bot] commented 1 week ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

github-actions[bot] commented 1 week ago

Coverage after merging feature/refactor-login_view into master will be

71.51%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/constants
   preferences_flags.dart0%100%100%0%42, 47, 49, 51–53, 56, 58–61, 63, 65
   markers.dart100%100%100%100%
lib/features/app/analytics
   analytics_service.dart0%100%100%0%13–14, 17, 20–22, 25, 30, 32–34, 38, 40–41, 43
   remote_config_service.dart0%100%100%0%100, 103–105, 108–110, 113–115, 118–120, 123–125, 128–130, 133–135, 138–140, 143–144, 146–150, 154–156, 58–60, 63–65, 68–70, 73–75, 78–80, 83–85, 88–90, 93–95, 98–99
lib/features/app/error
   internal_info_service.dart0%100%100%0%18–21, 24–29, 32, 34–38, 42–43
lib/features/app/error/not_found
   not_found_viewmodel.dart100%100%100%100%
   not_found_view.dart92.59%100%100%92.59%69–70
lib/features/app/integration
   github_api.dart0%100%100%0%100–101, 104, 106, 110, 112–116, 118–119, 122, 124, 131–134, 138–139, 141, 39, 42–43, 47, 51–55, 57–58, 60, 62, 64–65, 68, 70, 77, 82–88, 92, 94, 96–98
   launch_url_service.dart0%100%100%0%16–18, 21–23, 26–31, 37, 55–56, 59
   networking_service.dart0%100%100%0%10–11, 13–15, 18–20
lib/features/app/monets_api
   monets_api_client.dart90.91%100%100%90.91%22
lib/features/app/monets_api/models
   mon_ets_user.dart50%100%100%50%29–33, 35, 37
lib/features/app/navigation
   navigation_service.dart0%100%100%0%100, 31, 34–35, 37–38, 45–46, 49–50, 53–55, 57, 62–63, 66–67, 70–72, 75–76, 79, 81, 86, 89, 91–92, 95–97, 99
   navigation_history_observer.dart0%100%100%0%12–14, 16, 18, 20, 23, 25, 28, 30, 8–9
lib/features/app/repository
   author_repository.dart0%100%100%0%13, 15
   course_repository.dart84.34%100%100%84.34%200, 205, 210–211, 213, 217, 219–220, 223–229, 234, 236, 239, 241–243, 246–251, 255, 259–261, 263, 267, 337, 345, 347, 532–533, 83
   news_repository.dart0%100%100%0%16, 21
   quick_link_repository.dart85.71%100%100%85.71%39–40
   user_repository.dart93.52%100%100%93.52%135–136, 186, 308, 310, 98–99
lib/features/app/signets-api
   signets_api_client.dart88.89%100%100%88.89%35, 45, 47, 49
   soap_service.dart100%100%100%100%
lib/features/app/signets-api/commands
   authentificate_command.dart0%100%100%0%18, 21, 24–28, 31
   get_course_reviews_command.dart100%100%100%100%
   get_course_summary_command.dart100%100%100%100%
   get_courses_activities_command.dart100%100%100%100%
   get_courses_command.dart100%100%100%100%
   get_programs_command.dart100%100%100%100%
   get_schedule_activities_command.dart100%100%100%100%
   get_sessions_command.dart100%100%100%100%
   get_student_info_command.dart100%100%100%100%
lib/features/app/signets-api/models
   course.dart80.52%100%100%80.52%102–105, 120, 122–131
   course_activity.dart81.40%100%100%81.40%83, 85–91
   schedule_activity.dart80.95%100%100%80.95%121, 123–133
   session.dart73.08%100%100%73.08%159, 161–173, 175, 177–189
   profile_student.dart82.14%100%100%82.14%56, 58–61
   program.dart81.13%100%100%81.13%100–106, 96, 98–99
   course_review.dart51.92%100%100%51.92%100–103, 51–58, 70, 72–79, 95, 97–99
   course_summary.dart86.84%100%100%86.84%106, 108–116
   course_evaluation.dart70.54%100%100%70.54%128, 167, 169–182, 184, 186–200, 49
lib/features/app/startup
   startup_viewmodel.dart76.92%100%100%76.92%37–38, 54
lib/features/app/storage
   cache_manager.dart0%100%100%0%30–31, 34–37, 40, 44, 46–50, 56, 58–61, 66, 68–71
   preferences_service.dart63.64%100%100%63.64%112–113, 115, 29, 31, 33, 36–38, 51, 60–63, 73–75, 78, 80–81
lib/features/app/widgets
   base_scaffold.dart85.33%100%100%85.33%105, 135, 164–165, 167–169, 171–172, 174–175
   bottom_bar.dart90.91%100%100%90.91%46, 48, 50, 55, 59
   navigation_rail.dart55.56%100%100%55.56%37, 47, 49, 51, 54, 58, 64–65, 70–84, 86
   dismissible_card.dart100%100%100%100%
   link_web_view.dart88.24%100%100%88.24%38–39
lib/features/dashboard
   dashboard_view.dart65.84%100%100%65.84%146–149, 157–160, 168–170, 178–180, 188–190, 230–233, 247–249, 255–257, 266, 268–269, 287–290, 294–296, 314–315, 321–322, 347–348, 387, 394, 416–417, 452–455, 458–462, 464, 466, 468, 470–473, 475–478, 481, 483–484, 491–492, 497, 499, 505, 511–514, 542–543, 77, 88
   dashboard_viewmodel.dart92.96%100%100%92.96%137–139, 141, 144, 195, 198, 270, 316, 320, 359, 364, 402, 465–466
lib/features/dashboard/widgets
   course_activity_tile.dart100%100%100%100%
   haptics_container.dart100%100%100%100%
lib/features/ets
   ets_view.dart80%100%100%80%27–29, 79–81
lib/features/ets/events/api-client
   hello_api_client.dart91.67%100%100%91.67%26
lib/features/ets/events/api-client/commands
   get_events_command.dart74.07%100%100%74.07%50, 58, 61, 64, 67, 70, 73
   get_organizer_command.dart92.31%100%100%92.31%26
   report_news_command.dart92.86%100%100%92.86%27
lib/features/ets/events/api-client/models
   organizer.dart100%100%100%100%
   paginated_news.dart31.03%100%100%31.03%36–41, 44, 47–53, 55, 57–61
   report.dart14.29%100%100%14.29%15–17, 20–22
   activity_area.dart48.15%100%100%48.15%