Skip to content

Commit f51fd32

Browse files
authored
Merge pull request #2914 from uw-it-aca/qa
Qa to Main fix/MUWM-5232
2 parents 35b723b + fcfa88b commit f51fd32

File tree

7 files changed

+63
-2
lines changed

7 files changed

+63
-2
lines changed

myuw/dao/degree.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from myuw.dao.term import (
1313
last_4instruction_weeks, during_april_may,
1414
is_cur_term_before, is_cur_term_same,
15-
within_2terms_after_given_term)
15+
within_2terms_after_given_term, after_last_final_exam_day)
1616

1717

1818
def get_degrees(request):
@@ -50,6 +50,10 @@ def get_degrees_json(request):
5050
last_4instruction_weeks(
5151
request, degree.year, degree.quarter)
5252
) # MUWM-5195
53+
json_data["after_last_final_exam_day"] = (
54+
after_last_final_exam_day(
55+
request, degree.year, degree.quarter)
56+
) # MUWM-5232
5357
if degree.is_granted():
5458
json_data["within_2terms_after_granted"] = (
5559
within_2terms_after_given_term(

myuw/dao/term.py

+11
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,17 @@ def last_4instruction_weeks(request, year, quarter):
164164
current_term == comparison_term and comparison_dt > starting_point)
165165

166166

167+
def after_last_final_exam_day(request, year, quarter):
168+
comparison_term = get_specific_term(year, quarter)
169+
comparison_term_last_final_day = (
170+
comparison_term.get_eod_last_final_exam() - timedelta(days=1))
171+
end_day = (comparison_term_last_final_day + timedelta(days=28))
172+
comparison_dt = get_comparison_datetime(request)
173+
return (
174+
comparison_dt >= comparison_term_last_final_day and
175+
comparison_dt <= end_day)
176+
177+
167178
def get_term_from_quarter_string(quarter_string):
168179
"""
169180
Return a uw_sws.models.Term object

myuw/test/dao/test_degree.py

+19
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
DEGREE_DATA = {
1010
'degrees': [{
11+
'after_last_final_exam_day': False,
1112
'campus': 'SEATTLE',
1213
'diploma_mail': 0,
1314
'diploma_mail_to_local_address': False,
@@ -54,6 +55,7 @@ def test_get_degrees_json(self):
5455
degree_data = get_degrees_json(
5556
get_request_with_user('javerage')
5657
)
58+
self.maxDiff = None
5759
self.assertEquals(degree_data, DEGREE_DATA)
5860
self.maxDiff = None
5961
degree_data = get_degrees_json(
@@ -125,3 +127,20 @@ def test_get_degrees_json(self):
125127
self.assertEquals(
126128
degree_data,
127129
{'degrees': None, 'error_code': 404})
130+
131+
# MUWM-5232
132+
degree_data = get_degrees_json(
133+
get_request_with_user(
134+
'javerage', get_request_with_date("2013-08-22")))
135+
self.assertFalse(
136+
degree_data['degrees'][0]['after_last_final_exam_day'])
137+
degree_data=get_degrees_json(
138+
get_request_with_user(
139+
'javerage', get_request_with_date("2013-08-23")))
140+
self.assertTrue(
141+
degree_data['degrees'][0]['after_last_final_exam_day'])
142+
degree_data=get_degrees_json(
143+
get_request_with_user(
144+
'javerage', get_request_with_date("2013-09-19")))
145+
self.assertTrue(
146+
degree_data['degrees'][0]['after_last_final_exam_day'])

myuw/test/dao/test_term.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
get_future_number_quarters, during_april_may, is_cur_term_same,
1414
get_next_non_summer_quarter, get_next_autumn_quarter,
1515
is_in_summer_a_term, is_in_summer_b_term,
16-
within_2terms_after_given_term,
16+
within_2terms_after_given_term, after_last_final_exam_day,
1717
get_bod_current_term_class_start, get_eod_7d_after_class_start,
1818
get_eod_current_term, get_eod_current_term_last_instruction,
1919
get_bod_7d_before_last_instruction, get_eod_current_term_last_final_exam,
@@ -431,3 +431,13 @@ def test_term_dat_context_before_start_break(self):
431431
self.assertEquals(context['quarter'], 'spring')
432432
self.assertEquals(context['is_finals'], False)
433433
self.assertEquals(context['is_break'], True)
434+
435+
def test_after_last_final_exam_day(self):
436+
request = get_request_with_date("2013-08-22")
437+
self.assertFalse(after_last_final_exam_day(request, 2013, 'summer'))
438+
request = get_request_with_date("2013-08-23")
439+
self.assertTrue(after_last_final_exam_day(request, 2013, 'summer'))
440+
request = get_request_with_date("2013-09-19")
441+
self.assertTrue(after_last_final_exam_day(request, 2013, 'summer'))
442+
request = get_request_with_date("2013-09-20")
443+
self.assertFalse(after_last_final_exam_day(request, 2013, 'summer'))

myuw_vue/components/home/graduation/application-submitted.vue

+15
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
</h2>
1515
</template>
1616
<template #card-body>
17+
<div v-if="showLastTermGradAlert"
18+
class="alert alert-primary myuw-text-md text-center" role="alert"
19+
>
20+
Did you graduate last quarter? Don&apos;t worry,
21+
<strong>it may take several weeks for your degree to be officially granted.</strong>
22+
Once your graduation status updates, MyUW will reflect the change.
23+
</div>
1724
<div class="row gx-md-4">
1825
<div v-if="hasActiveApplication" class="col-12 mb-xl-0">
1926
<p class="myuw-text-md">
@@ -625,6 +632,14 @@ export default {
625632
}
626633
return value;
627634
},
635+
showLastTermGradAlert() {
636+
// MUWM-5232: from the last final exam day until status is no longer 3-5
637+
let value = this.degrees && Boolean(this.degrees[0].after_last_final_exam_day);
638+
if (!value && this.hasDoubleDegrees) {
639+
value = Boolean(this.degrees[1].after_last_final_exam_day);
640+
}
641+
return value;
642+
},
628643
hasGrantedDegree() {
629644
// MUWM-5195: from degree earned term till 2 terms after it
630645
let value = (

myuw_vue/tests/degree-appl-submitted.test.js

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ describe('Graduation Card', () => {
7373
expect(wrapper.vm.hasActiveApplBeforeEarnedTerm).toBe(false);
7474
expect(wrapper.vm.hasActiveApplication).toBe(true);
7575
expect(wrapper.vm.hasGrantedDegree).toBe(false);
76+
expect(wrapper.vm.showLastTermGradAlert).toBe(false);
7677
expect(wrapper.vm.seattle).toBeTruthy();
7778
expect(wrapper.vm.bothell).toBe(false);
7879
expect(wrapper.vm.tacoma).toBe(false);

myuw_vue/tests/mock_data/profile/javerage.json

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
"is_degree_earned_term": true,
5555
"before_degree_earned_term": false,
5656
"during_april_may": false,
57+
"after_last_final_exam_day": false,
5758
"last_4_inst_weeks_in_degree_term": true
5859
}
5960
],

0 commit comments

Comments
 (0)