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

Handle courses with missing start_at date #33

Merged
merged 5 commits into from
Feb 29, 2024
Merged

Conversation

cycomachead
Copy link

This happens sometimes for CS88.

  • Try to request the date of the term if present
  • If no dates, fallback to created_at which should always be present

This happens sometimes for CS88.
* Try to request the date of the *term* if present
* If no dates, fallback to created_at which should always be present
Copy link

github-actions bot commented Dec 8, 2023

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 36, 41, 49–56, 61–98, 102–117, 121
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

github-actions bot commented Dec 8, 2023

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 36, 41, 49–56, 61–98, 102–117, 121
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

github-actions bot commented Dec 8, 2023

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 36, 41, 49–56, 61–98, 102–117, 121
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

codecov bot commented Dec 8, 2023

Codecov Report

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

Project coverage is 39.04%. Comparing base (6d2bade) to head (77fa2bc).

❗ Current head 77fa2bc differs from pull request most recent head 90e85b4. Consider uploading reports for the commit 90e85b4 to get more accurate results

Files Patch % Lines
server/services/canvas/__init__.py 15.38% 11 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #33      +/-   ##
==========================================
- Coverage   39.18%   39.04%   -0.14%     
==========================================
  Files          27       27              
  Lines        1692     1703      +11     
==========================================
+ Hits          663      665       +2     
- Misses       1029     1038       +9     

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

start_at_date = course['start_at_date'] or course['created_at_date']
start_at = course['start_at'] or course['created_at']
course['start_at_date'] = start_at_date
course['start_at'] = start_at
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wait shouldn't we use dot notation
course.start_at instead course['start_at']

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh sure...I wasn't sure, I thought these were dicts, but yeah maybe we should... I assume a.b.c is valid syntax then? I don't remember all the rules of Python or if we need to check for presence before an error is realized..

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries I will take it from here.



def get_user_courses_categorized(user: FakeUser | User) \
-> tuple[list[FakeCourse | Course], list[FakeCourse | Course], list[FakeCourse | Course]]:
courses_raw = user.get_courses(enrollment_status='active')
courses_raw = user.get_courses(enrollment_status='active', include=['term'], per_page=100)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would need to change fake canvas client to support include keyword

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The real one does.
Our fake one does not.
I will do it.

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533378%28, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13285%17–18
server/services/auth
   __init__.py28486%21, 49, 54–55
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py391172%15, 27–29, 31–33, 49–52
server/services/email/templates
   __init__.py33197%20
server/services/google
   __init__.py542946%23, 31, 33, 41–44, 48–54, 58–77
server/typings
   exception.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139078244% 

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

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533577%27–30, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13746%8, 13–18
server/services/auth
   __init__.py28679%21, 49, 54–55, 60–61
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py392731%15, 24–52
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.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139083540% 

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

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533577%27–30, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13746%8, 13–18
server/services/auth
   __init__.py28679%21, 49, 54–55, 60–61
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py392731%15, 24–52
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.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139083540% 

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

Copy link

github-actions bot commented Feb 1, 2024

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   forms.py881089%18–20, 45–47, 97–100
   models.py1533577%27–30, 56, 59, 62, 88, 92, 95–104, 107, 110, 124, 127–129, 132, 136, 148, 152, 156, 160–161, 167, 187, 190, 211, 214, 228
   views.py41233020%33–38, 51–52, 70–88, 99–101, 110–117, 126, 137–140, 150–169, 181–205, 213–235, 247–251, 260–282, 291–293, 301–304, 312–337, 345–370, 378–406, 414–431, 438, 443–447, 456–458, 463–511, 516–521, 526–546, 551–566, 571–586, 596, 601, 606, 614–615, 621, 626–630
server/controllers
   __init__.py653743%25–52, 55, 66–86, 89
   auth_controllers.py382534%13–15, 21–47, 53–55
   dev_login_controllers.py342332%11–25, 30–39, 44–56
   health_controllers.py13746%8, 13–18
server/services/auth
   __init__.py28679%21, 49, 54–55, 60–61
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–60, 65–102, 106–121, 125
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py252020%16–60
   data.py261638%10–15, 19–23, 27–29, 33–34, 38–39
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py302130%18–59
   smtp.py392731%15, 24–52
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.py25964%16–29, 35, 41–42, 51, 54
server/utils
   date.py7443%17–19, 30
   misc.py6517%5–9
TOTAL139083540% 

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

Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1703103839% 

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

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1703103839% 

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

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1703103839% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1703109236% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1703109236% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py796024%18–25, 29, 33, 37, 43, 53–61, 66–103, 107–122, 126
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1703109236% 

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

@Reimirno Reimirno merged commit 7398722 into main Feb 29, 2024
13 checks passed
@Reimirno Reimirno deleted the michael/canvas-hacks branch February 29, 2024 06:01
Copy link

Coverage

Coverage for unit tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1705104039% 

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

Copy link

Coverage

Coverage for unit tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1705104039% 

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

Copy link

Coverage

Coverage for unit tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py44491%20–21, 60, 68
   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.py63753716%32, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 905, 910, 918–919, 927, 932–936
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.py13285%17–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py391172%15, 27–29, 31–33, 49–52
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
TOTAL1705104039% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.10
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1705109436% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.12
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1705109436% 

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

Copy link

Coverage

Coverage for e2e tests for Python 3.11
FileStmtsMissCoverMissing
server
   __init__.py441077%12, 15–21, 26, 60, 68
   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.py63754015%31–33, 42–75, 85–117, 128–132, 149–158, 174–191, 202–209, 218–240, 251–264, 273, 284–287, 298–317, 330–354, 363–385, 394–421, 430–439, 448–490, 499–501, 509–512, 520–545, 553–578, 586–614, 622–639, 646, 651–655, 664–666, 671–718, 724–775, 781–792, 797–817, 822–847, 852–867, 872–891, 900, 905, 910, 918–919, 927, 932–936
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.py13746%8, 13–18
server/services/auth
   __init__.py29679%22, 51, 56–57, 62–63
server/services/canvas
   __init__.py816223%18–25, 29, 33, 37, 43, 55–64, 69–107, 111–126, 130
   fake_canvas.py392633%9, 12, 15, 20–25, 28–29, 37–46, 49–56
server/services/core
   assign.py372922%8, 16–17, 34–60, 73–89
   data.py473428%10–15, 19–23, 27–31, 35–37, 41–52, 56–58, 62–63, 67–68
   export.py8625%8–21
   room.py61568%11–33, 41–89
   student.py41387%9–54
server/services/csv
   __init__.py181233%11–12, 19–22, 29–34
server/services/email
   __init__.py352529%17–34, 38–65
   smtp.py392731%15, 24–52
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
TOTAL1705109436% 

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

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.

2 participants