Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Smarter Import/Export #64

Merged
merged 12 commits into from
Apr 17, 2024
Merged

Feat: Smarter Import/Export #64

merged 12 commits into from
Apr 17, 2024

Conversation

Reimirno
Copy link

@Reimirno Reimirno commented Mar 14, 2024

Resolves #59

Import

Whenever you import student from a sheet, you now have these options
image

  • Revalidate Existing Seat Assignments
    • True: Preferences might get updated after this import. choose True to revalidate the existing seat assignment (if any) against the new preferences. If not valid, assigment would be set to null.
    • False: no revalidation.
  • Student Basic Info Update Import Strategy / Student Preference Update Import Strategy
    • MERGE: New values would be used if present, unless new value is blank or not provided, in which case old values are used.
    • OVERWRITE: New values would be used. If blank, then the existing values would be nullified too.
    • IGNORE: only old values are used.
  • Seat Assignment Import Strategy
    • IGNORE: don't import seat assigment, even though it might be present in the import sheet.
    • FORCE: always import seat assignment, ignoring any preferences, existing or updated.
    • REVALIDATE: import the new seat assignment only if it conforms to the existing/updated preferences
  • New Row Strategy
    • APPEND: append in new students
    • IGNORE: don't append in new students that are not already existing
  • Missing Row Strategy
    • REMOVE: renove students that are missing from the new sheet
    • IGNORE: dont' renove students that are missing from the new sheet

Export

Now imports and exports should be symmetric. In the sense that exported sheet could directly be used for importing again, with no information loss whatsoever.

The exported sheet would contain these columns ['name', 'email', 'student id', 'canvas id', 'session name', 'seat name', 'emailed', 'room id', 'seat id'], plus the student preferences columns (true, false).

Edit: Now supports exporting public seat url.

Manual entry

Now supports entering student roster csv!

image

Todos

Allow user to apply a global preference/avoid to all students at import time?
That preferences might be imported as appending to the existing ones or overwrite all existing ones.

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781109339% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.690s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781109339% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.748s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781109339% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.918s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781114736% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 36.759s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781114736% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 35.500s ⏱️

Copy link

codecov bot commented Mar 14, 2024

Codecov Report

Attention: Patch coverage is 61.75299% with 96 lines in your changes are missing coverage. Please review.

Project coverage is 44.24%. Comparing base (eed0536) to head (5cc19f2).

Files Patch % Lines
server/views.py 5.76% 49 Missing ⚠️
server/services/core/export.py 13.63% 19 Missing ⚠️
server/services/core/assign.py 56.25% 14 Missing ⚠️
server/services/core/data.py 53.84% 6 Missing ⚠️
server/services/core/student.py 94.73% 5 Missing ⚠️
server/services/csv/__init__.py 33.33% 2 Missing ⚠️
server/models.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #64      +/-   ##
==========================================
+ Coverage   39.50%   44.24%   +4.73%     
==========================================
  Files          27       27              
  Lines        1777     1962     +185     
==========================================
+ Hits          702      868     +166     
- Misses       1075     1094      +19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py645514%7, 11–12, 16, 20–22, 26, 33–95
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1781114736% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 54.265s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799111138% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.722s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799111138% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 5.813s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799116535% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 21.680s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63953916%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799111138% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.955s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799116535% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 31.907s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1131587%22–24, 40–42, 67–69, 120–123, 130, 138
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py63954215%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–555, 563–588, 596–625, 633–650, 657, 662–666, 675–677, 682–729, 735–786, 792–803, 808–828, 833–858, 863–878, 883–902, 911, 916, 921, 929–930, 938, 943–947
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py827311%7, 11–12, 16, 20–22, 26, 33–115
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1799116535% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 31.013s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864114239% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.724s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864114239% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 5.893s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864119636% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 22.613s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864119636% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 23.071s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674275%28, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py441566%16, 28–30, 32–34, 50–57
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864114239% 

Tests Skipped Failures Errors Time
16 0 💤 0 ❌ 0 🔥 0.842s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1139417%26, 30–31, 35, 39–41, 45, 52–162
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py443130%16, 25–57
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1864119636% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 51.622s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py116596%25, 29–30, 39, 150
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1919105845% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 10.296s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py116596%25, 29–30, 39, 150
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1919105845% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 10.105s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64854815%32, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py116596%25, 29–30, 39, 150
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1919105845% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 10.144s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1169617%25, 29–30, 34, 38–40, 48, 52, 59–170
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1919124635% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 23.351s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1169617%25, 29–30, 34, 38–40, 48, 52, 59–170
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1919124635% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 23.367s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1201588%23–25, 41–43, 68–70, 144–147, 154, 162
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py64855115%31–33, 42–78, 88–122, 133–137, 154–163, 179–196, 207–214, 223–245, 256–269, 278, 289–292, 303–322, 335–359, 368–390, 399–426, 435–444, 453–495, 506–511, 519–522, 530–559, 567–596, 604–637, 645–662, 669, 674–678, 687–689, 694–741, 747–798, 804–815, 820–840, 845–870, 875–890, 895–914, 923, 928, 933, 941–942, 950, 955–959
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py513531%12–17, 21–25, 29–33, 37–39, 43–54, 58, 65–67, 71–72, 76–77
   export.py262215%10–41
   room.py61568%11–33, 41–89
   student.py1169617%25, 29–30, 34, 38–40, 48, 52, 59–170
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1919124635% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 30.857s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 9.743s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 9.620s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
43 0 💤 0 ❌ 0 🔥 10.163s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 27.130s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 31.608s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 41.930s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 9.752s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 9.714s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py48492%21–22, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358115%34, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL1962109444% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 10.298s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 24.033s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 39.747s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py481079%13, 16–22, 27, 67, 75
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py68358414%33–35, 44–80, 90–124, 135–139, 156–165, 181–198, 209–216, 225–247, 258–271, 280, 291–294, 305–324, 337–361, 370–392, 401–428, 437–446, 455–497, 508–513, 521–525, 534–564, 573–603, 612–645, 654–684, 693–710, 717, 722–726, 735–737, 742–789, 795–846, 852–863, 868–888, 893–918, 923–938, 943–962, 971, 976, 981, 989–990, 998, 1003–1007
server/controllers
   __init__.py572949%25–52, 55, 66–75, 78
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL1962128235% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 47.555s ⏱️

@Reimirno Reimirno merged commit b17bcbd into main Apr 17, 2024
13 checks passed
@Reimirno Reimirno deleted the feat-standardize-import-export branch April 17, 2024 23:41
Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py50492%21–22, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259115%35, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL2004112244% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 9.937s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py50492%21–22, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259115%35, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL2004112244% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 9.516s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py501080%13, 16–22, 27, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259414%34–36, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 987, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL2004131035% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 32.295s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py501080%13, 16–22, 27, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259414%34–36, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 987, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL2004131035% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 24.478s ⏱️

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py50492%21–22, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1673579%56, 60, 63, 66, 69, 72–77, 107, 110–119, 122, 125, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259115%35, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py20765%17–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553242%16, 19, 22, 25, 28, 49, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py116596%29, 33–34, 43, 150
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py913166%17, 28–30, 32–34, 48–50, 64–72, 84–85, 96–103, 107–109, 120–121
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7186%30
   misc.py161319%5–9, 13–19, 23
TOTAL2004112244% 

Tests Skipped Failures Errors Time
44 0 💤 0 ❌ 0 🔥 10.239s ⏱️

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py501080%13, 16–22, 27, 67, 75
   cache.py6183%12
   forms.py1221588%23–25, 41–43, 68–70, 149–152, 159, 167
   models.py1674474%27–30, 56, 60, 63, 66, 69, 72–77, 103, 107, 110–119, 122, 125, 139, 142–144, 147, 151, 163, 167, 171, 175–176, 182, 185, 205, 208, 229, 232, 246
   views.py69259414%34–36, 45–81, 91–125, 136–140, 157–166, 182–199, 210–217, 226–248, 259–272, 281, 292–295, 306–325, 338–362, 371–393, 402–429, 438–447, 456–498, 509–514, 522–526, 535–565, 574–604, 613–646, 655–685, 694–711, 718, 723–727, 736–782, 788–839, 845–855, 860–880, 885–910, 915–930, 935–954, 959–960, 965–978, 987, 992, 997, 1005–1006
server/controllers
   __init__.py824644%26–44, 47–49, 60–87, 90, 101–110, 113
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py201240%8, 13–18, 23–27
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py806124%18–25, 29, 33, 37, 43, 55–64, 69–105, 109–124, 128
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py553929%10–13, 16, 19, 22, 25, 28, 36–37, 49, 53, 64–90, 104–120
   data.py543731%12–17, 21–25, 29–33, 37–39, 43–54, 58, 69–71, 75–76, 80–81, 85–86
   export.py272219%11–44
   room.py61568%11–33, 41–89
   student.py1169617%29, 33–34, 38, 42–44, 48, 52, 59–170
server/services/csv
   __init__.py201335%11–12, 19, 26–29, 36–41
server/services/email
   __init__.py403122%17–34, 38–70
   smtp.py917320%17, 25–38, 42–51, 56–73, 79–110, 115–121
server/services/email/templates
   __init__.py332330%9–11, 14–17, 20, 30–41, 45–47
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py321166%20–33, 39, 44, 50, 56–57, 66, 69
server/utils
   date.py7443%17–19, 30
   misc.py161319%5–9, 13–19, 23
TOTAL2004131035% 

Tests Skipped Failures Errors Time
8 0 💤 0 ❌ 0 🔥 31.279s ⏱️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Syncing w/bCourses should NOT reset seating assignments
1 participant