Skip to content

Commit

Permalink
Merge pull request #13692 from transcom/B-21054-INT
Browse files Browse the repository at this point in the history
B-21054-INT Prime can add second/third addresses to existing shipments
  • Loading branch information
paulstonebraker authored Sep 16, 2024
2 parents 090d92b + 6a1cd8d commit 758c4f0
Show file tree
Hide file tree
Showing 12 changed files with 536 additions and 26 deletions.
84 changes: 84 additions & 0 deletions pkg/gen/primev3api/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 52 additions & 0 deletions pkg/gen/primev3messages/update_m_t_o_shipment.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 60 additions & 0 deletions pkg/gen/primev3messages/update_p_p_m_shipment.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions pkg/handlers/primeapiv3/payloads/payload_to_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,14 @@ func MTOShipmentModelFromUpdate(mtoShipment *primev3messages.UpdateMTOShipment,
model.HasSecondaryPickupAddress = handlers.FmtBool(true)
}

addressModel = AddressModel(&mtoShipment.TertiaryPickupAddress.Address)
if addressModel != nil {
model.TertiaryPickupAddress = addressModel
tertiaryPickupAddressID := uuid.FromStringOrNil(addressModel.ID.String())
model.TertiaryPickupAddressID = &tertiaryPickupAddressID
model.HasTertiaryPickupAddress = handlers.FmtBool(true)
}

addressModel = AddressModel(&mtoShipment.SecondaryDeliveryAddress.Address)
if addressModel != nil {
model.SecondaryDeliveryAddress = addressModel
Expand All @@ -394,6 +402,14 @@ func MTOShipmentModelFromUpdate(mtoShipment *primev3messages.UpdateMTOShipment,
model.HasSecondaryDeliveryAddress = handlers.FmtBool(true)
}

addressModel = AddressModel(&mtoShipment.TertiaryDeliveryAddress.Address)
if addressModel != nil {
model.TertiaryDeliveryAddress = addressModel
tertiaryDeliveryAddressID := uuid.FromStringOrNil(addressModel.ID.String())
model.TertiaryDeliveryAddressID = &tertiaryDeliveryAddressID
model.HasTertiaryDeliveryAddress = handlers.FmtBool(true)
}

if mtoShipment.PpmShipment != nil {
model.PPMShipment = PPMShipmentModelFromUpdate(mtoShipment.PpmShipment)
model.PPMShipment.Shipment = *model
Expand Down Expand Up @@ -436,6 +452,15 @@ func PPMShipmentModelFromUpdate(ppmShipment *primev3messages.UpdatePPMShipment)
}
}

if ppmShipment.HasTertiaryPickupAddress != nil && *ppmShipment.HasTertiaryPickupAddress {
addressModel = AddressModel(&ppmShipment.TertiaryPickupAddress.Address)
if addressModel != nil {
model.TertiaryPickupAddress = addressModel
tertiaryPickupAddressID := uuid.FromStringOrNil(addressModel.ID.String())
model.TertiaryPickupAddressID = &tertiaryPickupAddressID
}
}

addressModel = AddressModel(&ppmShipment.DestinationAddress.Address)
if addressModel != nil {
model.DestinationAddress = addressModel
Expand All @@ -451,6 +476,15 @@ func PPMShipmentModelFromUpdate(ppmShipment *primev3messages.UpdatePPMShipment)
}
}

if ppmShipment.HasTertiaryDestinationAddress != nil && *ppmShipment.HasTertiaryDestinationAddress {
addressModel = AddressModel(&ppmShipment.TertiaryDestinationAddress.Address)
if addressModel != nil {
model.TertiaryDestinationAddress = addressModel
tertiaryDestinationAddressID := uuid.FromStringOrNil(addressModel.ID.String())
model.TertiaryDestinationAddressID = &tertiaryDestinationAddressID
}
}

expectedDepartureDate := handlers.FmtDatePtrToPopPtr(ppmShipment.ExpectedDepartureDate)
if expectedDepartureDate != nil && !expectedDepartureDate.IsZero() {
model.ExpectedDepartureDate = *expectedDepartureDate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ test.describe('Prime simulator user', () => {
await page.locator('input[name="destinationAddress.city"]').fill('Joshua Tree');
await page.locator('select[name="destinationAddress.state"]').selectOption({ label: 'CA' });
await page.locator('input[name="destinationAddress.postalCode"]').fill('92252');
await page.getByTestId('dropdown').nth(1).selectOption('Home of record (HOR)');
await page.getByTestId('dropdown').nth(5).selectOption('Home of record (HOR)');

await page.getByText('Save').click();
await expect(page.getByText('Successfully updated shipment')).toHaveCount(1);
Expand Down
Loading

0 comments on commit 758c4f0

Please sign in to comment.