-
Notifications
You must be signed in to change notification settings - Fork 11
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
Record and compute sub-requirement progress in a fine-grained way #344
Conversation
[diff-counting] Significant lines: 930. |
f53c11f
to
2cc309b
Compare
Visit the preview URL for this PR (updated for commit 1896f55): https://cornelldti-courseplan-dev--pr344-fine-grained-sub-req-0np259g5.web.app (expires Sat, 13 Mar 2021 21:41:12 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 |
2cc309b
to
50ed657
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see comments below
main concern:
- modal showing that a course fulfills PBS/MQR when it is already fulfilled by another course.
So, it seems as though now there is a hierarchy of requirement > sub-requirement > slot Can you add definitions to all of these in the READ-ME in a future PR? |
Should I be able to run the tests somehow? |
@hahnbeelee |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Sam! I left some comments about how the perSlotMinCount
was determined for some of the reqs and requests for documentation in certain functions. The next sprint will involve the team looking through our requirements data and making sure it's as accurate as possible so perhaps more changes can be handled there, but I think some of the perSlotMinCount
values were off. I also wanted to note an issue below:
- I don't think the frontend is correctly handling the PBS and MQR courses requirement. It only registers the 3 slots and doesn't add another one to complete the requirement. Not sure if it would be best to address in this PR since it's getting large:
Screen.Recording.2021-03-05.at.2.31.49.PM.mov
50ed657
to
700164a
Compare
700164a
to
1896f55
Compare
@tcho6319 I updated some incorrect requirement @hahnbeelee @tcho6319 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gotcha, sounds good then!
For the "3 slot vs 4 slot issue in the PBS/MQR requirement", I thought there were supposed to be 4 slots also? Is there only 3 slots right now because we adding one MQR class counts for both the MQR AND the (MQR or PBS) slot? Is the problem that we currently can't differentiate the (MQR or PBS) sub-requirement from the PBS and MQR subrequirements? |
@einc It's currently 3 slots because the slots are PSB: 2 courses, MQR: 1 course, PSB/MQR: 1 course. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks Sam!
@tcho6319 In terms of the 3 slot vs 4 slot issue in the PBS/MQR requirement, I believe we should actually use 3 slots, since logically there are 3 slots. Currently, it's slightly broken because the frontend code assumes that 1 slot can only be filled by 1 course. This is something we might want to change. Loop in @einc for potential design work.
I think this frontend code fix should be done in a separate PR. I will make a Story item for it on Notion.
Summary
Implemented the proposal in #343. Check that issue for the discussion on design decisions.
Test Plan
Added a test to ensure
perSlotMinCount.length === checkers.length
for all requirements,Example showing A&S's PSB vs MQR requirement is correctly handled:

Engineering requirement is still correctly computed:

Notes
Info-sci concentrations are not done in this PR to avoid getting this PR too large.