From 1c1e78ff2a5c56ea88d14320db927bb63924829f Mon Sep 17 00:00:00 2001 From: Tae Jung Date: Wed, 12 Feb 2025 19:13:33 +0000 Subject: [PATCH 1/2] moved dependents authorized to orders page --- pkg/gen/ghcapi/embedded_spec.go | 36 ++++++------ .../counseling_update_allowance_payload.go | 3 - .../counseling_update_order_payload.go | 3 + .../ghcmessages/update_allowance_payload.go | 3 - pkg/gen/ghcmessages/update_order_payload.go | 3 + pkg/handlers/ghcapi/orders_test.go | 16 +++--- pkg/services/order/order_updater.go | 22 ++++---- pkg/services/order/order_updater_test.go | 56 ++++++++----------- .../AllowancesDetailForm.jsx | 9 --- .../OrdersDetailForm/OrdersDetailForm.jsx | 10 +++- .../OrdersDetailForm.module.scss | 1 - .../OrdersDetailForm.test.jsx | 6 ++ .../Office/MoveAllowances/MoveAllowances.jsx | 4 -- .../MoveAllowances/MoveAllowances.test.jsx | 2 - src/pages/Office/Orders/Orders.jsx | 2 + src/pages/Office/Orders/Orders.test.jsx | 1 + .../ServicesCounselingMoveAllowances.jsx | 4 -- .../ServicesCounselingMoveAllowances.test.jsx | 2 - .../ServicesCounselingOrders.jsx | 1 + .../ServicesCounselingOrders.test.jsx | 1 + swagger-def/ghc.yaml | 12 ++-- swagger/ghc.yaml | 12 ++-- 22 files changed, 97 insertions(+), 112 deletions(-) diff --git a/pkg/gen/ghcapi/embedded_spec.go b/pkg/gen/ghcapi/embedded_spec.go index d84b59fe148..5722c9aec09 100644 --- a/pkg/gen/ghcapi/embedded_spec.go +++ b/pkg/gen/ghcapi/embedded_spec.go @@ -1516,7 +1516,7 @@ func init() { }, "/move-task-orders/{moveTaskOrderID}/status": { "patch": { - "description": "Changes move task order status to make it available to prime", + "description": "Changes move task order status", "consumes": [ "application/json" ], @@ -1526,7 +1526,7 @@ func init() { "tags": [ "moveTaskOrder" ], - "summary": "Change the status of a move task order to make it available to prime", + "summary": "Change the status of a move task order", "operationId": "updateMoveTaskOrderStatus", "parameters": [ { @@ -7089,10 +7089,6 @@ func init() { "agency": { "$ref": "#/definitions/Affiliation" }, - "dependentsAuthorized": { - "type": "boolean", - "x-nullable": true - }, "dependentsTwelveAndOver": { "description": "Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves.", "type": "integer", @@ -7171,6 +7167,10 @@ func init() { "x-nullable": true, "$ref": "#/definitions/DeptIndicator" }, + "dependentsAuthorized": { + "type": "boolean", + "x-nullable": true + }, "grade": { "$ref": "#/definitions/Grade" }, @@ -14195,10 +14195,6 @@ func init() { "agency": { "$ref": "#/definitions/Affiliation" }, - "dependentsAuthorized": { - "type": "boolean", - "x-nullable": true - }, "dependentsTwelveAndOver": { "description": "Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves.", "type": "integer", @@ -14545,6 +14541,10 @@ func init() { "x-nullable": true, "$ref": "#/definitions/DeptIndicator" }, + "dependentsAuthorized": { + "type": "boolean", + "x-nullable": true + }, "grade": { "$ref": "#/definitions/Grade" }, @@ -24282,10 +24282,6 @@ func init() { "agency": { "$ref": "#/definitions/Affiliation" }, - "dependentsAuthorized": { - "type": "boolean", - "x-nullable": true - }, "dependentsTwelveAndOver": { "description": "Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves.", "type": "integer", @@ -24368,6 +24364,10 @@ func init() { "x-nullable": true, "$ref": "#/definitions/DeptIndicator" }, + "dependentsAuthorized": { + "type": "boolean", + "x-nullable": true + }, "grade": { "$ref": "#/definitions/Grade" }, @@ -31520,10 +31520,6 @@ func init() { "agency": { "$ref": "#/definitions/Affiliation" }, - "dependentsAuthorized": { - "type": "boolean", - "x-nullable": true - }, "dependentsTwelveAndOver": { "description": "Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves.", "type": "integer", @@ -31874,6 +31870,10 @@ func init() { "x-nullable": true, "$ref": "#/definitions/DeptIndicator" }, + "dependentsAuthorized": { + "type": "boolean", + "x-nullable": true + }, "grade": { "$ref": "#/definitions/Grade" }, diff --git a/pkg/gen/ghcmessages/counseling_update_allowance_payload.go b/pkg/gen/ghcmessages/counseling_update_allowance_payload.go index 805a206b000..5f8c46ecd7b 100644 --- a/pkg/gen/ghcmessages/counseling_update_allowance_payload.go +++ b/pkg/gen/ghcmessages/counseling_update_allowance_payload.go @@ -26,9 +26,6 @@ type CounselingUpdateAllowancePayload struct { // agency Agency *Affiliation `json:"agency,omitempty"` - // dependents authorized - DependentsAuthorized *bool `json:"dependentsAuthorized,omitempty"` - // Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves. // Example: 3 DependentsTwelveAndOver *int64 `json:"dependentsTwelveAndOver,omitempty"` diff --git a/pkg/gen/ghcmessages/counseling_update_order_payload.go b/pkg/gen/ghcmessages/counseling_update_order_payload.go index 281972b5196..03f1b9618d5 100644 --- a/pkg/gen/ghcmessages/counseling_update_order_payload.go +++ b/pkg/gen/ghcmessages/counseling_update_order_payload.go @@ -23,6 +23,9 @@ type CounselingUpdateOrderPayload struct { // department indicator DepartmentIndicator *DeptIndicator `json:"departmentIndicator,omitempty"` + // dependents authorized + DependentsAuthorized *bool `json:"dependentsAuthorized,omitempty"` + // grade Grade *Grade `json:"grade,omitempty"` diff --git a/pkg/gen/ghcmessages/update_allowance_payload.go b/pkg/gen/ghcmessages/update_allowance_payload.go index c0aa957934a..2c37d3a7944 100644 --- a/pkg/gen/ghcmessages/update_allowance_payload.go +++ b/pkg/gen/ghcmessages/update_allowance_payload.go @@ -26,9 +26,6 @@ type UpdateAllowancePayload struct { // agency Agency *Affiliation `json:"agency,omitempty"` - // dependents authorized - DependentsAuthorized *bool `json:"dependentsAuthorized,omitempty"` - // Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves. // Example: 3 DependentsTwelveAndOver *int64 `json:"dependentsTwelveAndOver,omitempty"` diff --git a/pkg/gen/ghcmessages/update_order_payload.go b/pkg/gen/ghcmessages/update_order_payload.go index f5a09ceb70d..fa3796bfc78 100644 --- a/pkg/gen/ghcmessages/update_order_payload.go +++ b/pkg/gen/ghcmessages/update_order_payload.go @@ -23,6 +23,9 @@ type UpdateOrderPayload struct { // department indicator DepartmentIndicator *DeptIndicator `json:"departmentIndicator,omitempty"` + // dependents authorized + DependentsAuthorized *bool `json:"dependentsAuthorized,omitempty"` + // grade Grade *Grade `json:"grade,omitempty"` diff --git a/pkg/handlers/ghcapi/orders_test.go b/pkg/handlers/ghcapi/orders_test.go index 81da3ae4946..eaeeb0b6cd1 100644 --- a/pkg/handlers/ghcapi/orders_test.go +++ b/pkg/handlers/ghcapi/orders_test.go @@ -757,6 +757,7 @@ func (suite *HandlerSuite) makeUpdateOrderHandlerSubtestData() (subtestData *upd Sac: nullable.NewString("987654321"), NtsTac: nullable.NewString("E19A"), NtsSac: nullable.NewString("987654321"), + DependentsAuthorized: models.BoolPointer(true), } return subtestData @@ -815,6 +816,7 @@ func (suite *HandlerSuite) TestUpdateOrderHandler() { suite.Equal(body.Sac.Value, ordersPayload.Sac) suite.Equal(body.NtsTac.Value, ordersPayload.NtsTac) suite.Equal(body.NtsSac.Value, ordersPayload.NtsSac) + suite.Equal(body.DependentsAuthorized, ordersPayload.Entitlement.DependentsAuthorized) }) // We need to confirm whether a user who only has the TIO role should indeed @@ -1050,6 +1052,7 @@ func (suite *HandlerSuite) makeCounselingUpdateOrderHandlerSubtestData() (subtes Sac: nullable.NewString("987654321"), NtsTac: nullable.NewString("E19A"), NtsSac: nullable.NewString("987654321"), + DependentsAuthorized: models.BoolPointer(true), } return subtestData @@ -1103,6 +1106,7 @@ func (suite *HandlerSuite) TestCounselingUpdateOrderHandler() { suite.Equal(body.Sac.Value, ordersPayload.Sac) suite.Equal(body.NtsTac.Value, ordersPayload.NtsTac) suite.Equal(body.NtsSac.Value, ordersPayload.NtsSac) + suite.Equal(body.DependentsAuthorized, ordersPayload.Entitlement.DependentsAuthorized) }) suite.Run("Returns 404 when updater returns NotFoundError", func() { @@ -1249,9 +1253,8 @@ func (suite *HandlerSuite) makeUpdateAllowanceHandlerSubtestData() (subtestData rmeWeight := models.Int64Pointer(10000) subtestData.body = &ghcmessages.UpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -1344,7 +1347,6 @@ func (suite *HandlerSuite) TestUpdateAllowanceHandler() { suite.Equal(order.ID.String(), ordersPayload.ID.String()) suite.Equal(body.Grade, ordersPayload.Grade) suite.Equal(body.Agency, ordersPayload.Agency) - suite.Equal(body.DependentsAuthorized, ordersPayload.Entitlement.DependentsAuthorized) suite.Equal(*body.OrganizationalClothingAndIndividualEquipment, ordersPayload.Entitlement.OrganizationalClothingAndIndividualEquipment) suite.Equal(*body.ProGearWeight, ordersPayload.Entitlement.ProGearWeight) suite.Equal(*body.ProGearWeightSpouse, ordersPayload.Entitlement.ProGearWeightSpouse) @@ -1523,9 +1525,8 @@ func (suite *HandlerSuite) TestCounselingUpdateAllowanceHandler() { rmeWeight := models.Int64Pointer(10000) body := &ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -1573,7 +1574,6 @@ func (suite *HandlerSuite) TestCounselingUpdateAllowanceHandler() { suite.Equal(order.ID.String(), ordersPayload.ID.String()) suite.Equal(body.Grade, ordersPayload.Grade) suite.Equal(body.Agency, ordersPayload.Agency) - suite.Equal(body.DependentsAuthorized, ordersPayload.Entitlement.DependentsAuthorized) suite.Equal(*body.OrganizationalClothingAndIndividualEquipment, ordersPayload.Entitlement.OrganizationalClothingAndIndividualEquipment) suite.Equal(*body.ProGearWeight, ordersPayload.Entitlement.ProGearWeight) suite.Equal(*body.ProGearWeightSpouse, ordersPayload.Entitlement.ProGearWeightSpouse) diff --git a/pkg/services/order/order_updater.go b/pkg/services/order/order_updater.go index 8929d047684..fec552f6150 100644 --- a/pkg/services/order/order_updater.go +++ b/pkg/services/order/order_updater.go @@ -268,6 +268,10 @@ func orderFromTOOPayload(appCtx appcontext.AppContext, existingOrder models.Orde order.AmendedOrdersAcknowledgedAt = &acknowledgedAt } + if payload.DependentsAuthorized != nil { + order.Entitlement.DependentsAuthorized = payload.DependentsAuthorized + } + if payload.Grade != nil { order.Grade = (*internalmessages.OrderPayGrade)(payload.Grade) // Calculate new DBWeightAuthorized based on the new grade @@ -405,6 +409,10 @@ func orderFromCounselingPayload(appCtx appcontext.AppContext, existingOrder mode order.OrdersType = internalmessages.OrdersType(*payload.OrdersType) } + if payload.DependentsAuthorized != nil { + order.Entitlement.DependentsAuthorized = payload.DependentsAuthorized + } + if payload.Grade != nil { order.Grade = (*internalmessages.OrderPayGrade)(payload.Grade) // Calculate new DBWeightAuthorized based on the new grade @@ -462,7 +470,7 @@ func allowanceFromTOOPayload(appCtx appcontext.AppContext, existingOrder models. } weight := weightAllotment.TotalWeightSelf // Payload does not have this information, retrieve dependents from the existing order - if existingOrder.HasDependents && *payload.DependentsAuthorized { + if existingOrder.HasDependents && *order.Entitlement.DependentsAuthorized { // Only utilize dependent weight authorized if dependents are both present and authorized weight = weightAllotment.TotalWeightSelfPlusDependents } @@ -472,10 +480,6 @@ func allowanceFromTOOPayload(appCtx appcontext.AppContext, existingOrder models. order.Entitlement.OrganizationalClothingAndIndividualEquipment = *payload.OrganizationalClothingAndIndividualEquipment } - if payload.DependentsAuthorized != nil { - order.Entitlement.DependentsAuthorized = payload.DependentsAuthorized - } - if payload.StorageInTransit != nil { newSITAllowance := int(*payload.StorageInTransit) order.Entitlement.StorageInTransit = &newSITAllowance @@ -570,7 +574,7 @@ func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder } weight := weightAllotment.TotalWeightSelf // Payload does not have this information, retrieve dependents from the existing order - if existingOrder.HasDependents && *payload.DependentsAuthorized { + if existingOrder.HasDependents && *order.Entitlement.DependentsAuthorized { // Only utilize dependent weight authorized if dependents are both present and authorized weight = weightAllotment.TotalWeightSelfPlusDependents } @@ -580,10 +584,6 @@ func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder order.Entitlement.OrganizationalClothingAndIndividualEquipment = *payload.OrganizationalClothingAndIndividualEquipment } - if payload.DependentsAuthorized != nil { - order.Entitlement.DependentsAuthorized = payload.DependentsAuthorized - } - if payload.StorageInTransit != nil { newSITAllowance := int(*payload.StorageInTransit) order.Entitlement.StorageInTransit = &newSITAllowance @@ -631,7 +631,7 @@ func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder // Recalculate UB allowance of order entitlement if order.Entitlement != nil { - unaccompaniedBaggageAllowance, err := models.GetUBWeightAllowance(appCtx, order.OriginDutyLocation.Address.IsOconus, order.NewDutyLocation.Address.IsOconus, order.ServiceMember.Affiliation, order.Grade, &order.OrdersType, payload.DependentsAuthorized, order.Entitlement.AccompaniedTour, order.Entitlement.DependentsUnderTwelve, order.Entitlement.DependentsTwelveAndOver) + unaccompaniedBaggageAllowance, err := models.GetUBWeightAllowance(appCtx, order.OriginDutyLocation.Address.IsOconus, order.NewDutyLocation.Address.IsOconus, order.ServiceMember.Affiliation, order.Grade, &order.OrdersType, order.Entitlement.DependentsAuthorized, order.Entitlement.AccompaniedTour, order.Entitlement.DependentsUnderTwelve, order.Entitlement.DependentsTwelveAndOver) if err != nil { return models.Order{}, err } diff --git a/pkg/services/order/order_updater_test.go b/pkg/services/order/order_updater_test.go index 9e86e990f95..ad82f30b256 100644 --- a/pkg/services/order/order_updater_test.go +++ b/pkg/services/order/order_updater_test.go @@ -122,6 +122,7 @@ func (suite *OrderServiceSuite) TestUpdateOrderAsTOO() { ReportByDate: &reportByDate, Tac: handlers.FmtString("E19A"), Sac: nullable.NewString("987654321"), + DependentsAuthorized: models.BoolPointer(true), } updatedOrder, _, err := orderUpdater.UpdateOrderAsTOO(suite.AppContextForTest(), order.ID, payload, eTag) @@ -146,6 +147,7 @@ func (suite *OrderServiceSuite) TestUpdateOrderAsTOO() { suite.Equal(payload.Tac, updatedOrder.TAC) suite.Equal(payload.Sac.Value, updatedOrder.SAC) suite.EqualValues(updatedGbloc.GBLOC, *updatedOrder.OriginDutyLocationGBLOC) + suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) var moveInDB models.Move err = suite.DB().Find(&moveInDB, move.ID) @@ -451,6 +453,7 @@ func (suite *OrderServiceSuite) TestUpdateOrderAsCounselor() { Tac: handlers.FmtString("E19A"), Sac: nullable.NewString("987654321"), Grade: &grade, + DependentsAuthorized: models.BoolPointer(true), } eTag := etag.GenerateEtag(order.UpdatedAt) @@ -474,6 +477,7 @@ func (suite *OrderServiceSuite) TestUpdateOrderAsCounselor() { suite.EqualValues(body.Tac, updatedOrder.TAC) suite.EqualValues(body.Sac.Value, updatedOrder.SAC) suite.Equal(*updatedOrder.Entitlement.DBAuthorizedWeight, 16000) + suite.Equal(body.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) }) suite.Run("Updates the PPM actual expense reimbursement when pay grade is civilian", func() { @@ -581,9 +585,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.UpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -598,7 +601,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -620,9 +622,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.UpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -640,7 +641,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -668,9 +668,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.UpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -685,7 +684,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -737,9 +735,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -754,7 +751,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -779,9 +775,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { weightRestriction := models.Int64Pointer(5000) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -800,7 +795,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -826,9 +820,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -847,7 +840,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { suite.NoError(err) suite.Equal(order.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -876,9 +868,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { eTag := etag.GenerateEtag(orderWithoutDefaults.UpdatedAt) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -897,7 +888,6 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { suite.NoError(err) suite.Equal(orderWithoutDefaults.ID.String(), updatedOrder.ID.String()) - suite.Equal(payload.DependentsAuthorized, updatedOrder.Entitlement.DependentsAuthorized) suite.Equal(*payload.ProGearWeight, int64(updatedOrder.Entitlement.ProGearWeight)) suite.Equal(*payload.ProGearWeightSpouse, int64(updatedOrder.Entitlement.ProGearWeightSpouse)) suite.Equal(*payload.RequiredMedicalEquipmentWeight, int64(updatedOrder.Entitlement.RequiredMedicalEquipmentWeight)) @@ -928,9 +918,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, @@ -965,9 +954,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { eTag := etag.GenerateEtag(order.UpdatedAt) payload := ghcmessages.CounselingUpdateAllowancePayload{ - Agency: &affiliation, - DependentsAuthorized: models.BoolPointer(true), - Grade: &grade, + Agency: &affiliation, + Grade: &grade, OrganizationalClothingAndIndividualEquipment: &ocie, ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, diff --git a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx index 7b38d00bb68..8ad5674a087 100644 --- a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx +++ b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx @@ -216,15 +216,6 @@ const AllowancesDetailForm = ({ header, entitlements, branchOptions, formIsDisab isDisabled={formIsDisabled} /> )} -
- -
); }; diff --git a/src/components/Office/OrdersDetailForm/OrdersDetailForm.jsx b/src/components/Office/OrdersDetailForm/OrdersDetailForm.jsx index 26028b4ea69..dc05e2008e5 100644 --- a/src/components/Office/OrdersDetailForm/OrdersDetailForm.jsx +++ b/src/components/Office/OrdersDetailForm/OrdersDetailForm.jsx @@ -106,7 +106,15 @@ const OrdersDetailForm = ({ isDisabled={formIsDisabled} /> )} - +
+ +
{showHHGTac && showHHGSac &&

HHG accounting codes

} {showHHGTac && ( { // correct labels are visible expect(await screen.findByLabelText('Orders type')).toBeDisabled(); }); + + it('renders dependents authorized checkbox field', async () => { + renderOrdersDetailForm(); + expect(await screen.findByTestId('dependentsAuthorizedInput')).toBeInTheDocument(); + }); }); diff --git a/src/pages/Office/MoveAllowances/MoveAllowances.jsx b/src/pages/Office/MoveAllowances/MoveAllowances.jsx index 5e7057c752f..c6737aac89b 100644 --- a/src/pages/Office/MoveAllowances/MoveAllowances.jsx +++ b/src/pages/Office/MoveAllowances/MoveAllowances.jsx @@ -96,7 +96,6 @@ const MoveAllowances = () => { const { grade, agency, - dependentsAuthorized, proGearWeight, proGearWeightSpouse, requiredMedicalEquipmentWeight, @@ -117,7 +116,6 @@ const MoveAllowances = () => { reportByDate: order.report_by_date, grade, agency, - dependentsAuthorized, proGearWeight: Number(proGearWeight), proGearWeightSpouse: Number(proGearWeightSpouse), requiredMedicalEquipmentWeight: Number(requiredMedicalEquipmentWeight), @@ -134,7 +132,6 @@ const MoveAllowances = () => { const { entitlement, grade, agency } = order; const { - dependentsAuthorized, proGearWeight, proGearWeightSpouse, requiredMedicalEquipmentWeight, @@ -150,7 +147,6 @@ const MoveAllowances = () => { const initialValues = { grade, agency, - dependentsAuthorized, proGearWeight: `${proGearWeight}`, proGearWeightSpouse: `${proGearWeightSpouse}`, requiredMedicalEquipmentWeight: `${requiredMedicalEquipmentWeight}`, diff --git a/src/pages/Office/MoveAllowances/MoveAllowances.test.jsx b/src/pages/Office/MoveAllowances/MoveAllowances.test.jsx index b9ff87d66e5..12087f86659 100644 --- a/src/pages/Office/MoveAllowances/MoveAllowances.test.jsx +++ b/src/pages/Office/MoveAllowances/MoveAllowances.test.jsx @@ -55,7 +55,6 @@ const useOrdersDocumentQueriesReturnValue = { eTag: 'MjAyMC0wOS0xNFQxNzo0MTozOC43MTE0Nlo=', entitlement: { authorizedWeight: 5000, - dependentsAuthorized: true, eTag: 'MjAyMC0wOS0xNFQxNzo0MTozOC42ODAwOVo=', id: '0dbc9029-dfc5-4368-bc6b-dfc95f5fe317', nonTemporaryStorage: true, @@ -153,7 +152,6 @@ describe('MoveAllowances page', () => { expect(screen.getByTestId('sitInput')).toHaveDisplayValue('2'); expect(screen.getByLabelText('OCIE authorized (Army only)')).toBeChecked(); - expect(screen.getByLabelText('Dependents authorized')).toBeChecked(); expect(screen.getByTestId('weightAllowance')).toHaveTextContent('5,000 lbs'); }); diff --git a/src/pages/Office/Orders/Orders.jsx b/src/pages/Office/Orders/Orders.jsx index 1bf21c4fc50..b6c16a9e0e8 100644 --- a/src/pages/Office/Orders/Orders.jsx +++ b/src/pages/Office/Orders/Orders.jsx @@ -190,6 +190,7 @@ const Orders = ({ files, amendedDocumentId, updateAmendedDocument }) => { proGearWeightSpouse, requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment, + dependentsAuthorized, } = entitlement; useEffect(() => { @@ -310,6 +311,7 @@ const Orders = ({ files, amendedDocumentId, updateAmendedDocument }) => { ntsSac: order?.ntsSac, ordersAcknowledgement: !!amendedOrdersAcknowledgedAt, payGrade: order?.grade, + dependentsAuthorized, }; return ( diff --git a/src/pages/Office/Orders/Orders.test.jsx b/src/pages/Office/Orders/Orders.test.jsx index e2d0ada3624..2dca7071881 100644 --- a/src/pages/Office/Orders/Orders.test.jsx +++ b/src/pages/Office/Orders/Orders.test.jsx @@ -209,6 +209,7 @@ describe('Orders page', () => { expect(screen.getByTestId('ntsTacInput')).toHaveValue('1111'); expect(screen.getByTestId('ntsSacInput')).toHaveValue('2222'); expect(screen.getByTestId('payGradeInput')).toHaveDisplayValue('E-1'); + expect(screen.getByLabelText('Dependents authorized')).toBeChecked(); }); }); diff --git a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx index d80502bcd17..3164d352b60 100644 --- a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx +++ b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx @@ -100,7 +100,6 @@ const ServicesCounselingMoveAllowances = () => { const { grade, agency, - dependentsAuthorized, proGearWeight, proGearWeightSpouse, requiredMedicalEquipmentWeight, @@ -121,7 +120,6 @@ const ServicesCounselingMoveAllowances = () => { reportByDate: order.report_by_date, grade, agency, - dependentsAuthorized, proGearWeight: Number(proGearWeight), proGearWeightSpouse: Number(proGearWeightSpouse), requiredMedicalEquipmentWeight: Number(requiredMedicalEquipmentWeight), @@ -138,7 +136,6 @@ const ServicesCounselingMoveAllowances = () => { const { entitlement, grade, agency } = order; const { - dependentsAuthorized, proGearWeight, proGearWeightSpouse, requiredMedicalEquipmentWeight, @@ -154,7 +151,6 @@ const ServicesCounselingMoveAllowances = () => { const initialValues = { grade, agency, - dependentsAuthorized, proGearWeight: `${proGearWeight}`, proGearWeightSpouse: `${proGearWeightSpouse}`, requiredMedicalEquipmentWeight: `${requiredMedicalEquipmentWeight}`, diff --git a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.test.jsx b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.test.jsx index c2cb6443422..ba7947d9fe2 100644 --- a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.test.jsx +++ b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.test.jsx @@ -54,7 +54,6 @@ const useOrdersDocumentQueriesReturnValue = { eTag: 'MjAyMC0wOS0xNFQxNzo0MTozOC43MTE0Nlo=', entitlement: { authorizedWeight: 5000, - dependentsAuthorized: true, eTag: 'MjAyMC0wOS0xNFQxNzo0MTozOC42ODAwOVo=', id: '0dbc9029-dfc5-4368-bc6b-dfc95f5fe317', nonTemporaryStorage: true, @@ -154,7 +153,6 @@ describe('MoveAllowances page', () => { expect(screen.getByTestId('sitInput')).toHaveDisplayValue('2'); expect(screen.getByLabelText('OCIE authorized (Army only)')).toBeChecked(); - expect(screen.getByLabelText('Dependents authorized')).toBeChecked(); expect(screen.getByTestId('weightAllowance')).toHaveTextContent('5,000 lbs'); }); diff --git a/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.jsx b/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.jsx index 5a3d37c59e0..2966a1f9c21 100644 --- a/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.jsx +++ b/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.jsx @@ -306,6 +306,7 @@ const ServicesCounselingOrders = ({ files, amendedDocumentId, updateAmendedDocum ntsTac: order?.ntsTac, ntsSac: order?.ntsSac, payGrade: order?.grade, + dependentsAuthorized: order?.entitlement?.dependentsAuthorized, }; const tacWarningMsg = diff --git a/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.test.jsx b/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.test.jsx index b10032c6da9..2a893702ffd 100644 --- a/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.test.jsx +++ b/src/pages/Office/ServicesCounselingOrders/ServicesCounselingOrders.test.jsx @@ -212,6 +212,7 @@ describe('Orders page', () => { ); expect(await screen.findByLabelText('Current duty location')).toBeInTheDocument(); + expect(screen.getByLabelText('Dependents authorized')).toBeChecked(); }); it('renders the sidebar elements', async () => { diff --git a/swagger-def/ghc.yaml b/swagger-def/ghc.yaml index 285ff9ac571..e54232b836b 100644 --- a/swagger-def/ghc.yaml +++ b/swagger-def/ghc.yaml @@ -5822,6 +5822,9 @@ definitions: type: boolean title: Are dependents included in your orders? x-nullable: true + dependentsAuthorized: + type: boolean + x-nullable: true required: - issueDate - reportByDate @@ -5890,6 +5893,9 @@ definitions: x-nullable: true grade: $ref: "#/definitions/Grade" + dependentsAuthorized: + type: boolean + x-nullable: true required: - issueDate - reportByDate @@ -5901,9 +5907,6 @@ definitions: properties: grade: $ref: "#/definitions/Grade" - dependentsAuthorized: - type: boolean - x-nullable: true agency: $ref: "definitions/Affiliation.yaml" proGearWeight: @@ -5998,9 +6001,6 @@ definitions: properties: grade: $ref: "#/definitions/Grade" - dependentsAuthorized: - type: boolean - x-nullable: true agency: $ref: "definitions/Affiliation.yaml" proGearWeight: diff --git a/swagger/ghc.yaml b/swagger/ghc.yaml index 0cf3ff25f82..53721c25c9b 100644 --- a/swagger/ghc.yaml +++ b/swagger/ghc.yaml @@ -6069,6 +6069,9 @@ definitions: type: boolean title: Are dependents included in your orders? x-nullable: true + dependentsAuthorized: + type: boolean + x-nullable: true required: - issueDate - reportByDate @@ -6139,6 +6142,9 @@ definitions: x-nullable: true grade: $ref: '#/definitions/Grade' + dependentsAuthorized: + type: boolean + x-nullable: true required: - issueDate - reportByDate @@ -6150,9 +6156,6 @@ definitions: properties: grade: $ref: '#/definitions/Grade' - dependentsAuthorized: - type: boolean - x-nullable: true agency: $ref: '#/definitions/Affiliation' proGearWeight: @@ -6260,9 +6263,6 @@ definitions: properties: grade: $ref: '#/definitions/Grade' - dependentsAuthorized: - type: boolean - x-nullable: true agency: $ref: '#/definitions/Affiliation' proGearWeight: From 57982b8f93b23a843ca837daddbb60ad668c68e8 Mon Sep 17 00:00:00 2001 From: Tae Jung Date: Wed, 12 Feb 2025 20:50:42 +0000 Subject: [PATCH 2/2] updated orders list for dependents field --- playwright/tests/my/mymove/boat.spec.js | 8 ++++---- playwright/tests/office/qaecsr/csrFlows.spec.js | 3 +-- .../Office/DefinitionLists/AllowancesList.jsx | 4 ---- .../DefinitionLists/AllowancesList.stories.jsx | 1 - .../Office/DefinitionLists/AllowancesList.test.jsx | 11 ----------- src/components/Office/DefinitionLists/OrdersList.jsx | 4 ++++ .../Office/DefinitionLists/OrdersList.stories.jsx | 7 +++++++ .../Office/DefinitionLists/OrdersList.test.jsx | 12 ++++++++++++ src/pages/Office/MoveDetails/MoveDetails.jsx | 2 +- .../ServicesCounselingMoveDetails.jsx | 2 +- 10 files changed, 30 insertions(+), 24 deletions(-) diff --git a/playwright/tests/my/mymove/boat.spec.js b/playwright/tests/my/mymove/boat.spec.js index 912459d0ec0..3a482488eb9 100644 --- a/playwright/tests/my/mymove/boat.spec.js +++ b/playwright/tests/my/mymove/boat.spec.js @@ -125,7 +125,7 @@ test.describe('Boat shipment', () => { ).toBeVisible(); await page.getByTestId('boatConfirmationContinue').click(); - await expect(page.getByText('HHG')).toBeVisible(); + await expect(page.getByTestId('tag')).toHaveText('HHG'); }); test('Is able to delete a boat shipment', async ({ page, customerPage }) => { @@ -236,7 +236,7 @@ test.describe('Boat shipment', () => { await expect( page.getByRole('heading', { name: 'Movers pack and ship it, paid by the government (HHG)' }), ).not.toBeVisible(); - await expect(page.getByText('HHG')).toBeVisible(); + await expect(page.getByTestId('tag')).toHaveText('HHG'); await expect(page.getByText('Movers pack and transport this shipment')).toBeVisible(); await page.getByTestId('wizardNextButton').click(); await customerPage.waitForPage.reviewShipments(); @@ -452,7 +452,7 @@ test.describe('(MultiMove) Boat shipment', () => { ).toBeVisible(); await page.getByTestId('boatConfirmationContinue').click(); - await expect(page.getByText('HHG')).toBeVisible(); + await expect(page.getByTestId('tag')).toHaveText('HHG'); }); test('Is able to delete a boat shipment', async ({ page, customerPage }) => { @@ -569,7 +569,7 @@ test.describe('(MultiMove) Boat shipment', () => { await expect( page.getByRole('heading', { name: 'Movers pack and ship it, paid by the government (HHG)' }), ).not.toBeVisible(); - await expect(page.getByText('HHG')).toBeVisible(); + await expect(page.getByTestId('tag')).toHaveText('HHG'); await expect(page.getByText('Movers pack and transport this shipment')).toBeVisible(); await page.getByTestId('wizardNextButton').click(); await customerPage.waitForPage.reviewShipments(); diff --git a/playwright/tests/office/qaecsr/csrFlows.spec.js b/playwright/tests/office/qaecsr/csrFlows.spec.js index ccdda99fa19..692b5e9bd06 100644 --- a/playwright/tests/office/qaecsr/csrFlows.spec.js +++ b/playwright/tests/office/qaecsr/csrFlows.spec.js @@ -137,6 +137,7 @@ test.describe('Customer Support User Flows', () => { await expect(page.locator('input[name="tac"]')).toBeDisabled(); await expect(page.locator('input[name="sac"]')).toBeDisabled(); await expect(page.locator('select[name="payGrade"]')).toBeDisabled(); + await expect(page.locator('input[name="dependentsAuthorized"]')).toBeDisabled(); // no save button should exist await expect(page.getByRole('button', { name: 'Save' })).toHaveCount(0); }); @@ -160,8 +161,6 @@ test.describe('Customer Support User Flows', () => { // read only authorized weight await expect(page.locator('select[name=agency]')).toBeDisabled(); - await expect(page.locator('select[name=agency]')).toBeDisabled(); - await expect(page.locator('input[name="dependentsAuthorized"]')).toBeDisabled(); // no save button should exist await expect(page.getByRole('button', { name: 'Save' })).toHaveCount(0); diff --git a/src/components/Office/DefinitionLists/AllowancesList.jsx b/src/components/Office/DefinitionLists/AllowancesList.jsx index 7bdd17862ae..a61b2e45882 100644 --- a/src/components/Office/DefinitionLists/AllowancesList.jsx +++ b/src/components/Office/DefinitionLists/AllowancesList.jsx @@ -41,10 +41,6 @@ const AllowancesList = ({ info, showVisualCues }) => {
Storage in transit (SIT)
{info.storageInTransit} days
-
-
Dependents
-
{info.dependents ? 'Authorized' : 'Unauthorized'}
-
{/* Begin OCONUS fields */} {/* As these fields are grouped together and only apply to OCONUS orders They will all be NULL for CONUS orders. If one of these fields are present, diff --git a/src/components/Office/DefinitionLists/AllowancesList.stories.jsx b/src/components/Office/DefinitionLists/AllowancesList.stories.jsx index 44e3eda03e8..289f0eb2b77 100644 --- a/src/components/Office/DefinitionLists/AllowancesList.stories.jsx +++ b/src/components/Office/DefinitionLists/AllowancesList.stories.jsx @@ -21,7 +21,6 @@ const info = { progear: 2000, spouseProgear: 500, storageInTransit: 90, - dependents: true, requiredMedicalEquipmentWeight: 1000, organizationalClothingAndIndividualEquipment: true, ubAllowance: 400, diff --git a/src/components/Office/DefinitionLists/AllowancesList.test.jsx b/src/components/Office/DefinitionLists/AllowancesList.test.jsx index 9eed73f1d62..073665f6d70 100644 --- a/src/components/Office/DefinitionLists/AllowancesList.test.jsx +++ b/src/components/Office/DefinitionLists/AllowancesList.test.jsx @@ -107,17 +107,6 @@ describe('AllowancesList', () => { expect(screen.getByText('90 days')).toBeInTheDocument(); }); - it('renders authorized dependents', () => { - render(); - expect(screen.getByTestId('dependents').textContent).toEqual('Authorized'); - }); - - it('renders unauthorized dependents', () => { - const withUnauthorizedDependents = { ...info, dependents: false }; - render(); - expect(screen.getByTestId('dependents').textContent).toEqual('Unauthorized'); - }); - it('renders formatted pro-gear', () => { render(); expect(screen.getByText('2,000 lbs')).toBeInTheDocument(); diff --git a/src/components/Office/DefinitionLists/OrdersList.jsx b/src/components/Office/DefinitionLists/OrdersList.jsx index 46ec027d40e..aee9b109aa4 100644 --- a/src/components/Office/DefinitionLists/OrdersList.jsx +++ b/src/components/Office/DefinitionLists/OrdersList.jsx @@ -96,6 +96,10 @@ const OrdersList = ({ ordersInfo, showMissingWarnings }) => {
Orders type detail
{ordersTypeDetailReadable(ordersInfo.ordersTypeDetail, missingText)}
+
+
Dependents
+
{ordersInfo.dependents ? 'Authorized' : 'Unauthorized'}
+
( ordersNumber: text('ordersInfo.ordersNumber', '999999999'), ordersType: text('ordersInfo.ordersType', ORDERS_TYPE.PERMANENT_CHANGE_OF_STATION), ordersTypeDetail: text('ordersInfo.ordersTypeDetail', 'HHG_PERMITTED'), + dependents: true, ordersDocuments: array('ordersInfo.ordersDocuments', [ { 'c0a22a98-a806-47a2-ab54-2dac938667b3': { @@ -60,6 +61,7 @@ export const AsServiceCounselor = () => ( ordersNumber: '', ordersType: '', ordersTypeDetail: '', + dependents: false, ordersDocuments: array('ordersInfo.ordersDocuments', [ { 'c0a22a98-a806-47a2-ab54-2dac938667b3': { @@ -98,6 +100,7 @@ export const AsServiceCounselorProcessingRetirement = () => ( ordersNumber: '', ordersType: 'RETIREMENT', ordersTypeDetail: '', + dependents: false, ordersDocuments: null, tacMDC: '', sacSDN: '', @@ -122,6 +125,7 @@ export const AsServiceCounselorProcessingSeparation = () => ( ordersNumber: '', ordersType: 'SEPARATION', ordersTypeDetail: '', + dependents: false, ordersDocuments: null, tacMDC: '', sacSDN: '', @@ -145,6 +149,7 @@ export const AsTOO = () => ( ordersNumber: '', ordersType: '', ordersTypeDetail: '', + dependents: false, ordersDocuments: array('ordersInfo.ordersDocuments', [ { 'c0a22a98-a806-47a2-ab54-2dac938667b3': { @@ -182,6 +187,7 @@ export const AsTOOProcessingRetirement = () => ( ordersNumber: '', ordersType: 'RETIREMENT', ordersTypeDetail: '', + dependents: false, ordersDocuments: null, tacMDC: '', sacSDN: '', @@ -205,6 +211,7 @@ export const AsTOOProcessingSeparation = () => ( ordersNumber: '', ordersType: 'SEPARATION', ordersTypeDetail: '', + dependents: false, ordersDocuments: null, tacMDC: '', sacSDN: '', diff --git a/src/components/Office/DefinitionLists/OrdersList.test.jsx b/src/components/Office/DefinitionLists/OrdersList.test.jsx index 586c0d1bfab..74907bc768c 100644 --- a/src/components/Office/DefinitionLists/OrdersList.test.jsx +++ b/src/components/Office/DefinitionLists/OrdersList.test.jsx @@ -12,6 +12,7 @@ const ordersInfo = { ordersNumber: '999999999', ordersType: 'PERMANENT_CHANGE_OF_STATION', ordersTypeDetail: 'HHG_PERMITTED', + dependents: true, ordersDocuments: [ { 'c0a22a98-a806-47a2-ab54-2dac938667b3': { @@ -71,6 +72,17 @@ describe('OrdersList', () => { }); }); + it('renders authorized dependents', () => { + render(); + expect(screen.getByTestId('dependents').textContent).toEqual('Authorized'); + }); + + it('renders unauthorized dependents', () => { + const withUnauthorizedDependents = { ...ordersInfo, dependents: false }; + render(); + expect(screen.getByTestId('dependents').textContent).toEqual('Unauthorized'); + }); + it('renders missing orders info as warning if showMissingWarnings is included', () => { render(); expect(screen.getByTestId('departmentIndicator').textContent).toEqual('Missing'); diff --git a/src/pages/Office/MoveDetails/MoveDetails.jsx b/src/pages/Office/MoveDetails/MoveDetails.jsx index 6e1e9871cd9..cff3c656af2 100644 --- a/src/pages/Office/MoveDetails/MoveDetails.jsx +++ b/src/pages/Office/MoveDetails/MoveDetails.jsx @@ -428,6 +428,7 @@ const MoveDetails = ({ ordersNumber: order.order_number, ordersType: order.order_type, ordersTypeDetail: order.order_type_detail, + dependents: allowances.dependentsAuthorized, ordersDocuments: validOrdersDocuments?.length ? validOrdersDocuments : null, uploadedAmendedOrderID: order.uploadedAmendedOrderID, amendedOrdersAcknowledgedAt: order.amendedOrdersAcknowledgedAt, @@ -444,7 +445,6 @@ const MoveDetails = ({ progear: allowances.proGearWeight, spouseProgear: allowances.proGearWeightSpouse, storageInTransit: allowances.storageInTransit, - dependents: allowances.dependentsAuthorized, requiredMedicalEquipmentWeight: allowances.requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment: allowances.organizationalClothingAndIndividualEquipment, gunSafe: allowances.gunSafe, diff --git a/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx b/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx index c5104b99537..f7591660ff8 100644 --- a/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx +++ b/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx @@ -383,7 +383,6 @@ const ServicesCounselingMoveDetails = ({ progear: allowances.proGearWeight, spouseProgear: allowances.proGearWeightSpouse, storageInTransit: allowances.storageInTransit, - dependents: allowances.dependentsAuthorized, requiredMedicalEquipmentWeight: allowances.requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment: allowances.organizationalClothingAndIndividualEquipment, gunSafe: allowances.gunSafe, @@ -403,6 +402,7 @@ const ServicesCounselingMoveDetails = ({ ordersType: order.order_type, ordersNumber: order.order_number, ordersTypeDetail: order.order_type_detail, + dependents: allowances.dependentsAuthorized, ordersDocuments: validOrdersDocuments?.length ? validOrdersDocuments : null, tacMDC: order.tac, sacSDN: order.sac,