From f99308d4eb72ae97504e1c356fdf73f43ef7355a Mon Sep 17 00:00:00 2001 From: Liberty Mupotsa Date: Thu, 4 Mar 2021 11:56:50 -0500 Subject: [PATCH 01/11] started the testing process for Overloading --- tests/code/test_overload.py | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/code/test_overload.py diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py new file mode 100644 index 000000000..0d53a970a --- /dev/null +++ b/tests/code/test_overload.py @@ -0,0 +1,40 @@ +# import the modules, +import pytest +from app import app +from app.models.user import User +from app.models.overloadForm import * +from app.controllers.main_routes import studentOverload.py + + +@pytest.fixture +def setUp(): + delete_forms() + yield + + +def delete_forms(): + """Find out forms which need to be deleted when we do the set up""" + pass + +# get the user + + +@pytest.mark.integration +def test_createOverloadFormAndFormHistory(rspFunctional[i], lsf, currentUser, status): + """ The above function is from the UserInsert Funtions.py""" + pass + +@pytest.mark.integration +def test_formCompletetion(): + """This function tests form completion""" + pass + +@pytest.mark.integration +def test_approval(): + """ This is for testing financial and approval""" + pass + +@pytest.mark.integration +def test_denied(): + """ This is for testing financial and disapproval""" + pass From 0db7b6e5f61e185668e09a67ff61f6b18173781f Mon Sep 17 00:00:00 2001 From: May Jue Date: Fri, 5 Mar 2021 15:56:24 -0500 Subject: [PATCH 02/11] create labor overload form --- tests/code/test_overload.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 0d53a970a..b12abe850 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -3,9 +3,9 @@ from app import app from app.models.user import User from app.models.overloadForm import * -from app.controllers.main_routes import studentOverload.py - - +from app.models.term import * +from app.controllers.main_routes import studentOverloadApp +from app.logic.userInsertFunctions import * @pytest.fixture def setUp(): delete_forms() @@ -17,12 +17,19 @@ def delete_forms(): pass # get the user +currentUser = User.get(User.userID == 1) +term = Term.get(Term.termCode == '202000') +rspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} +lsf = createLaborStatusForm("B00734292", "B12361006", "1", term, rspFunctional) +status = "Pending" - +print("LSF: ", lsf) @pytest.mark.integration -def test_createOverloadFormAndFormHistory(rspFunctional[i], lsf, currentUser, status): +def test_createOverloadFormAndFormHistory(): """ The above function is from the UserInsert Funtions.py""" - pass + adjustLSF(fieldsChangedOverload, fieldName, lsf, currentUser) + overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) + print("OverLoad form passed:", overload) @pytest.mark.integration def test_formCompletetion(): From 437f7e8176f19b6f331618c671867b06b1a142b9 Mon Sep 17 00:00:00 2001 From: May Jue Date: Mon, 8 Mar 2021 11:57:10 -0500 Subject: [PATCH 03/11] create test for creating overload for supervisor adn student --- tests/code/test_overload.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index b12abe850..01d998d07 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -6,6 +6,8 @@ from app.models.term import * from app.controllers.main_routes import studentOverloadApp from app.logic.userInsertFunctions import * +from app.controllers.admin_routes.financialAidOverload import formDenial + @pytest.fixture def setUp(): delete_forms() @@ -23,23 +25,35 @@ def delete_forms(): lsf = createLaborStatusForm("B00734292", "B12361006", "1", term, rspFunctional) status = "Pending" -print("LSF: ", lsf) + @pytest.mark.integration -def test_createOverloadFormAndFormHistory(): +def test_createOverload(): """ The above function is from the UserInsert Funtions.py""" - adjustLSF(fieldsChangedOverload, fieldName, lsf, currentUser) - overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) - print("OverLoad form passed:", overload) + with app.test_request_context(): + overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) + assert FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) @pytest.mark.integration -def test_formCompletetion(): +def test_formCompletion(): """This function tests form completion""" - pass + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + with app.test_client() as c: + rv = c.post('/studentOverloadApp/update', json={ + str(lsf.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID + }}) + overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm) + assert overloadForm.studentOverloadReason == "This is my reason" @pytest.mark.integration def test_approval(): - """ This is for testing financial and approval""" - pass + """ This is for testing Financial Aid and approval""" + with app.test_request_context(): + status = 'approved' + currentUser.isFinancialAidAdmin = 1 + currentUser.save() + formDenial(status) + + @pytest.mark.integration def test_denied(): From 40eb51e96f205aa5ca6e1f273e47558120c2a8c0 Mon Sep 17 00:00:00 2001 From: Liberty Mupotsa Date: Wed, 10 Mar 2021 08:24:26 -0500 Subject: [PATCH 04/11] added a few stuff --- tests/code/test_overload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 01d998d07..aaea69395 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -1,4 +1,4 @@ -# import the modules, +# importing the modules, import pytest from app import app from app.models.user import User From b0b7fa4cf1d2e4a8a857e86b34df5c1b28c87fcf Mon Sep 17 00:00:00 2001 From: May Jue Date: Wed, 10 Mar 2021 10:16:31 -0500 Subject: [PATCH 05/11] admin approve overload test --- tests/code/test_overload.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 01d998d07..eca6a181d 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -9,14 +9,14 @@ from app.controllers.admin_routes.financialAidOverload import formDenial @pytest.fixture -def setUp(): - delete_forms() - yield - - -def delete_forms(): - """Find out forms which need to be deleted when we do the set up""" - pass +# def setUp(): +# delete_forms() +# yield +# +# +# def delete_forms(): +# """Find out forms which need to be deleted when we do the set up""" +# pass # get the user currentUser = User.get(User.userID == 1) @@ -49,9 +49,9 @@ def test_approval(): """ This is for testing Financial Aid and approval""" with app.test_request_context(): status = 'approved' - currentUser.isFinancialAidAdmin = 1 - currentUser.save() - formDenial(status) + # currentUser.isFinancialAidAdmin = 1 + # currentUser.save() + # formDenial(status) From 9d8b67136222f88e3cf1247ff4fc55e41d3ae321 Mon Sep 17 00:00:00 2001 From: May Jue Date: Thu, 11 Mar 2021 09:13:35 -0500 Subject: [PATCH 06/11] approving overload test --- tests/code/test_overload.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 3078f06c4..0a6e1c04f 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -8,7 +8,7 @@ from app.logic.userInsertFunctions import * from app.controllers.admin_routes.financialAidOverload import formDenial -@pytest.fixture +# @pytest.fixture # def setUp(): # delete_forms() # yield @@ -38,7 +38,7 @@ def test_formCompletion(): """This function tests form completion""" formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_client() as c: - rv = c.post('/studentOverloadApp/update', json={ + studentApproval = c.post('/studentOverloadApp/update', json={ str(lsf.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID }}) overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm) @@ -48,10 +48,16 @@ def test_formCompletion(): def test_approval(): """ This is for testing Financial Aid and approval""" with app.test_request_context(): + currentUser.isFinancialAidAdmin = 1 + currentUser.save() + print("here") status = 'approved' - # currentUser.isFinancialAidAdmin = 1 - # currentUser.save() - # formDenial(status) + with app.test_client() as c: + print("before adminapp") + adminApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ + 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form" + }) + From 2655164b05dbc1275a7beff28b3e162ee33fb550 Mon Sep 17 00:00:00 2001 From: Liberty Mupotsa Date: Thu, 11 Mar 2021 11:58:47 -0500 Subject: [PATCH 07/11] created the test cases --- tests/code/test_overload.py | 113 +++++++++++++++++++++++++++++++----- 1 file changed, 100 insertions(+), 13 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 0a6e1c04f..f64ea057c 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -7,16 +7,11 @@ from app.controllers.main_routes import studentOverloadApp from app.logic.userInsertFunctions import * from app.controllers.admin_routes.financialAidOverload import formDenial +from app.controllers.admin_routes.allPendingForms import laborAdminOverloadApproval +from datetime import datetime,date + + -# @pytest.fixture -# def setUp(): -# delete_forms() -# yield -# -# -# def delete_forms(): -# """Find out forms which need to be deleted when we do the set up""" -# pass # get the user currentUser = User.get(User.userID == 1) @@ -24,11 +19,26 @@ rspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} lsf = createLaborStatusForm("B00734292", "B12361006", "1", term, rspFunctional) status = "Pending" +currentDate = datetime.now().strftime("%Y-%m-%d") +email = "cruzg@berea.edu" +@pytest.fixture +def resetApprovalStatus(): + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory.overloadForm.financialAidApproved = None + print("STATUS------------------",formHistory.overloadForm.financialAidApproved) + formHistory.save() + formHistory.overloadForm.SAASApproved= None + formHistory.save() + formHistory.overloadForm.laborApproved = None + formHistory.save() + + yield @pytest.mark.integration def test_createOverload(): """ The above function is from the UserInsert Funtions.py""" + print("------------------------TestOverLoad Begins -------------------------------") with app.test_request_context(): overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) assert FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) @@ -47,6 +57,8 @@ def test_formCompletion(): @pytest.mark.integration def test_approval(): """ This is for testing Financial Aid and approval""" + + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() @@ -54,14 +66,89 @@ def test_approval(): status = 'approved' with app.test_client() as c: print("before adminapp") - adminApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ - 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form" + FinancialAidApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ + 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form for Financial Aid" + }) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.financialAidApproved.statusName == "Approved" + # Testing SAAS Approval + currentUser.isFinancialAidAdmin = 0 + currentUser.save() + currentUser.isSaasAdmin = 1 + currentUser.save() + + SASSApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ + 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas approved this form" }) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.SAASApproved.statusName == "Approved" + currentUser.isSaasAdmin = 0 + currentUser.save() + + adminApproval = c.post('/admin/modalFormUpdate', json={ + 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Approved by me', 'status': 'Approved', 'formType': 'Overload' + }) + + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.laborApproved.statusName == "Approved" @pytest.mark.integration -def test_denied(): +def test_denied(resetApprovalStatus): """ This is for testing financial and disapproval""" - pass + + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory.overloadForm.financialAidApproved.statusName = None + print("==================",formHistory.overloadForm.financialAidApproved.statusName) + + with app.test_request_context(): + currentUser.isFinancialAidAdmin = 1 + currentUser.save() + print("here") + status = 'denied' + with app.test_client() as c: + print("before adminapp") + FinancialAidDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ + 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I denied this form for Financial Aid" + }) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.financialAidApproved.statusName == "Denied" + # Testing SAAS Approval + currentUser.isFinancialAidAdmin = 0 + currentUser.save() + currentUser.isSaasAdmin = 1 + currentUser.save() + + SaasDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ + 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas denied this form" + }) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.SAASApproved.statusName == "Denied" + + #Testing for Labor Admin approval + currentUser.isSaasAdmin = 0 + currentUser.save() + + adminDenial = c.post('/admin/modalFormUpdate', json={ + 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Denied by me', 'status': 'Denied', 'formType': 'Overload' + }) + + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.laborApproved.statusName == "Denied" + + ## {'formHistoryID': 3, 'adminNotes': 'Approved by me', 'status': 'Approved', 'formType': 'Overload'} + + + + + + + # with app.test_client() as c: + # adminApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ + # 'formHistoryID': formHistory.formHistoryID, 'denialNote': "LaborAdmin denied this form" + # }) + # formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + # assert formHistory.overloadForm.laborApproved.statusName == "Denied" + print("--------------------------------------------TestOverload Ends------------------------------") From 18f761bb4c03e80c6d866b33a89590547f5564bd Mon Sep 17 00:00:00 2001 From: May Jue Date: Fri, 12 Mar 2021 15:09:48 -0500 Subject: [PATCH 08/11] clean up approval status and check hours --- tests/code/test_overload.py | 80 +++++++++++++++---------------------- 1 file changed, 33 insertions(+), 47 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index f64ea057c..3360fe6f2 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -1,4 +1,3 @@ -# importing the modules, import pytest from app import app from app.models.user import User @@ -16,49 +15,56 @@ # get the user currentUser = User.get(User.userID == 1) term = Term.get(Term.termCode == '202000') -rspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} -lsf = createLaborStatusForm("B00734292", "B12361006", "1", term, rspFunctional) +overLoadrspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} +overLoadLSF = createLaborStatusForm("B00734292", "B12361006", "1", term, overLoadrspFunctional) status = "Pending" -currentDate = datetime.now().strftime("%Y-%m-%d") -email = "cruzg@berea.edu" +secondaryRSP = {'stuName': 'Alex Bryant', 'stuBNumber': 'B00841417', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Seconday', 'stuWeeklyHours': 10, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isTermBreak': False, 'stuTotalHours': 20} @pytest.fixture def resetApprovalStatus(): - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) - formHistory.overloadForm.financialAidApproved = None - print("STATUS------------------",formHistory.overloadForm.financialAidApproved) - formHistory.save() - formHistory.overloadForm.SAASApproved= None - formHistory.save() - formHistory.overloadForm.laborApproved = None - formHistory.save() + "Resetting the Approval status " + formHistory = FormHistory.get(FormHistory.formID == overLoadLSF.laborStatusFormID) + overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm.overloadFormID) + overloadForm.financialAidApproved = None + overloadForm.save() + overloadForm.SAASApproved= None + overloadForm.save() + overloadForm.laborApproved = None + overloadForm.save() yield @pytest.mark.integration def test_createOverload(): """ The above function is from the UserInsert Funtions.py""" - print("------------------------TestOverLoad Begins -------------------------------") with app.test_request_context(): - overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) - assert FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + overload = createOverloadFormAndFormHistory(overLoadrspFunctional, overLoadLSF, currentUser, status) + assert FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + + # secondary forms + with app.test_client() as c: + totalHours = c.post("/laborstatusform/checktotalhours/202000/B00841417/10/NaN", json={}) + print("after") + + @pytest.mark.integration def test_formCompletion(): """This function tests form completion""" - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_client() as c: studentApproval = c.post('/studentOverloadApp/update', json={ - str(lsf.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID + str(overLoadLSF.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID }}) overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm) assert overloadForm.studentOverloadReason == "This is my reason" @pytest.mark.integration def test_approval(): - """ This is for testing Financial Aid and approval""" + """ This is for testing Financial Aid and approval. + Files: FiniancialAidOverload and """ - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() @@ -69,7 +75,7 @@ def test_approval(): FinancialAidApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form for Financial Aid" }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.financialAidApproved.statusName == "Approved" # Testing SAAS Approval currentUser.isFinancialAidAdmin = 0 @@ -80,7 +86,7 @@ def test_approval(): SASSApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas approved this form" }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.SAASApproved.statusName == "Approved" currentUser.isSaasAdmin = 0 currentUser.save() @@ -89,7 +95,7 @@ def test_approval(): 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Approved by me', 'status': 'Approved', 'formType': 'Overload' }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.laborApproved.statusName == "Approved" @@ -99,21 +105,16 @@ def test_approval(): def test_denied(resetApprovalStatus): """ This is for testing financial and disapproval""" - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) - formHistory.overloadForm.financialAidApproved.statusName = None - print("==================",formHistory.overloadForm.financialAidApproved.statusName) - + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() - print("here") status = 'denied' with app.test_client() as c: - print("before adminapp") FinancialAidDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I denied this form for Financial Aid" }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.financialAidApproved.statusName == "Denied" # Testing SAAS Approval currentUser.isFinancialAidAdmin = 0 @@ -124,7 +125,7 @@ def test_denied(resetApprovalStatus): SaasDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas denied this form" }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.SAASApproved.statusName == "Denied" #Testing for Labor Admin approval @@ -135,20 +136,5 @@ def test_denied(resetApprovalStatus): 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Denied by me', 'status': 'Denied', 'formType': 'Overload' }) - formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.laborApproved.statusName == "Denied" - - ## {'formHistoryID': 3, 'adminNotes': 'Approved by me', 'status': 'Approved', 'formType': 'Overload'} - - - - - - - # with app.test_client() as c: - # adminApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ - # 'formHistoryID': formHistory.formHistoryID, 'denialNote': "LaborAdmin denied this form" - # }) - # formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) - # assert formHistory.overloadForm.laborApproved.statusName == "Denied" - print("--------------------------------------------TestOverload Ends------------------------------") From ca310fb1beb6990400d971ba506e4bccad50fa19 Mon Sep 17 00:00:00 2001 From: Liberty Mupotsa Date: Mon, 15 Mar 2021 10:05:40 -0400 Subject: [PATCH 09/11] added the test for hours and approving reluctantly --- tests/code/test_overload.py | 74 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index 3360fe6f2..b77764892 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -1,3 +1,4 @@ +# importing the modules, import pytest from app import app from app.models.user import User @@ -7,64 +8,54 @@ from app.logic.userInsertFunctions import * from app.controllers.admin_routes.financialAidOverload import formDenial from app.controllers.admin_routes.allPendingForms import laborAdminOverloadApproval +from app.controllers.main_routes.laborStatusForm import * from datetime import datetime,date - - - # get the user currentUser = User.get(User.userID == 1) term = Term.get(Term.termCode == '202000') -overLoadrspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} -overLoadLSF = createLaborStatusForm("B00734292", "B12361006", "1", term, overLoadrspFunctional) +rspFunctional = {'stuName': 'Guillermo Adams', 'stuBNumber': 'B00734292', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Primary', 'stuWeeklyHours': 20, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isItOverloadForm': 'True', 'isTermBreak': False, 'stuTotalHours': 20} +lsf = createLaborStatusForm("B00734292", "B12361006", "1", term, rspFunctional) status = "Pending" -secondaryRSP = {'stuName': 'Alex Bryant', 'stuBNumber': 'B00841417', 'stuPosition': 'DUMMY POSITION', 'stuPositionCode': 'S12345', 'stuJobType': 'Seconday', 'stuWeeklyHours': 10, 'stuContractHours': None, 'stuWLS': '3', 'stuStartDate': '08/01/2020', 'stuEndDate': '05/01/2021', 'stuTermCode': '202000', 'stuNotes': '', 'stuLaborNotes': None, 'stuSupervisor': 'Scott Heggen', 'stuDepartment': 'Computer Science', 'stuDepartmentORG': '2114', 'stuSupervisorID': 'B12361006', 'isTermBreak': False, 'stuTotalHours': 20} +currentDate = datetime.now().strftime("%Y-%m-%d") +email = "cruzg@berea.edu" @pytest.fixture def resetApprovalStatus(): - "Resetting the Approval status " - formHistory = FormHistory.get(FormHistory.formID == overLoadLSF.laborStatusFormID) - overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm.overloadFormID) - overloadForm.financialAidApproved = None - overloadForm.save() - overloadForm.SAASApproved= None - overloadForm.save() - overloadForm.laborApproved = None - overloadForm.save() - + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory.overloadForm.financialAidApproved = None + formHistory.save() + formHistory.overloadForm.SAASApproved= None + formHistory.save() + formHistory.overloadForm.laborApproved = None + formHistory.save() yield @pytest.mark.integration def test_createOverload(): - """ The above function is from the UserInsert Funtions.py""" + """ The above function is from the UserInsert Funtions.py and LaborStatusForm.py""" with app.test_request_context(): - overload = createOverloadFormAndFormHistory(overLoadrspFunctional, overLoadLSF, currentUser, status) - assert FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) - - # secondary forms - with app.test_client() as c: - totalHours = c.post("/laborstatusform/checktotalhours/202000/B00841417/10/NaN", json={}) - print("after") - + overload = createOverloadFormAndFormHistory(rspFunctional, lsf, currentUser, status) + assert FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert checkTotalHours(termCode="202000", student="B00734292", weeklyHours="20",contractHours=None) == "20" @pytest.mark.integration def test_formCompletion(): """This function tests form completion""" - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_client() as c: studentApproval = c.post('/studentOverloadApp/update', json={ - str(overLoadLSF.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID + str(lsf.laborStatusFormID): {"Notes": "This is my reason", "formID": formHistory.formHistoryID }}) overloadForm = OverloadForm.get(OverloadForm.overloadFormID == formHistory.overloadForm) assert overloadForm.studentOverloadReason == "This is my reason" @pytest.mark.integration def test_approval(): - """ This is for testing Financial Aid and approval. - Files: FiniancialAidOverload and """ + """ This is for testing Financial Aid and approval""" - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() @@ -75,7 +66,7 @@ def test_approval(): FinancialAidApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form for Financial Aid" }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.financialAidApproved.statusName == "Approved" # Testing SAAS Approval currentUser.isFinancialAidAdmin = 0 @@ -86,7 +77,7 @@ def test_approval(): SASSApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas approved this form" }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.SAASApproved.statusName == "Approved" currentUser.isSaasAdmin = 0 currentUser.save() @@ -95,26 +86,33 @@ def test_approval(): 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Approved by me', 'status': 'Approved', 'formType': 'Overload' }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.laborApproved.statusName == "Approved" + adminApprovalReluctantly = c.post('/admin/modalFormUpdate', json={ + 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Approved reluctantly by me', 'status': 'Approved Reluctantly', 'formType': 'Overload' + }) - + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + assert formHistory.overloadForm.laborApproved.statusName == "Approved Reluctantly" @pytest.mark.integration def test_denied(resetApprovalStatus): """ This is for testing financial and disapproval""" - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory.overloadForm.financialAidApproved.statusName = None with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() + print("here") status = 'denied' with app.test_client() as c: + print("before adminapp") FinancialAidDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I denied this form for Financial Aid" }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.financialAidApproved.statusName == "Denied" # Testing SAAS Approval currentUser.isFinancialAidAdmin = 0 @@ -125,7 +123,7 @@ def test_denied(resetApprovalStatus): SaasDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "Saas denied this form" }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.SAASApproved.statusName == "Denied" #Testing for Labor Admin approval @@ -136,5 +134,5 @@ def test_denied(resetApprovalStatus): 'formHistoryID': formHistory.formHistoryID, 'adminNotes': 'Denied by me', 'status': 'Denied', 'formType': 'Overload' }) - formHistory = FormHistory.get((FormHistory.formID == overLoadLSF.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) + formHistory = FormHistory.get((FormHistory.formID == lsf.laborStatusFormID) & (FormHistory.historyType == "Labor Overload Form")) assert formHistory.overloadForm.laborApproved.statusName == "Denied" From adf533e9526c9d24d9e3a0e3e86500f8ed76df10 Mon Sep 17 00:00:00 2001 From: Liberty Mupotsa Date: Mon, 15 Mar 2021 10:08:26 -0400 Subject: [PATCH 10/11] removed print statements --- tests/code/test_overload.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/code/test_overload.py b/tests/code/test_overload.py index b77764892..b92a526c9 100644 --- a/tests/code/test_overload.py +++ b/tests/code/test_overload.py @@ -59,10 +59,8 @@ def test_approval(): with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() - print("here") status = 'approved' with app.test_client() as c: - print("before adminapp") FinancialAidApproval = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I approve this form for Financial Aid" }) @@ -105,10 +103,8 @@ def test_denied(resetApprovalStatus): with app.test_request_context(): currentUser.isFinancialAidAdmin = 1 currentUser.save() - print("here") status = 'denied' with app.test_client() as c: - print("before adminapp") FinancialAidDenial = c.post('/admin/financialAidOverloadApproval/'+status, json={ 'formHistoryID': formHistory.formHistoryID, 'denialNote': "I denied this form for Financial Aid" }) From 615ed8d5a60b2e6cad42939a49898d9cf5aaae16 Mon Sep 17 00:00:00 2001 From: Alex Bryant Date: Fri, 10 Dec 2021 15:32:05 -0500 Subject: [PATCH 11/11] trying to make tests pass --- tests/code/test_tracy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/code/test_tracy.py b/tests/code/test_tracy.py index 26a3dbcb9..f48e5b875 100644 --- a/tests/code/test_tracy.py +++ b/tests/code/test_tracy.py @@ -82,7 +82,7 @@ def test_getSupervisorFromEmail(self, tracy): def test_getPositionsFromDepartment(self, tracy): positions = tracy.getPositionsFromDepartment("2114","6740") - assert ['S61408','S61407','S61421','S61419'] == [p.POSN_CODE for p in positions] + assert ['S12345','S61408','S61407','S61421','S61419'] == [p.POSN_CODE for p in positions] positions = tracy.getPositionsFromDepartment("2114","0000") assert [] == [p.POSN_CODE for p in positions]