Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Int b 21507 pod poe too validation #14475

Draft
wants to merge 76 commits into
base: integrationTesting
Choose a base branch
from

Conversation

msaki-caci
Copy link
Contributor

@msaki-caci msaki-caci commented Dec 26, 2024

B-21507

Summary

We are adding a view for the Port of Embark and Port of Debark for the TOO and any other office user with the ability to view the MTO page.

They should be able to view the Port of Embark or Port of Debark based on whichever one is populated the other port should be blank. Here is an example:

image

Verification Steps for the Author

These are to be checked by the author.

  • Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
  • Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers

These are to be checked by a reviewer.

  • Has the branch been pulled in and checked out?
  • Have the BL acceptance criteria been met for this change?
  • Was the CircleCI build successful?
  • Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

How to test

NOTE: We are following the same steps for 1-5 from B-21505 to setup the location for the POE/POD.

  1. Create an INTL UB shipment as a customer (CONUS -> AK or AK -> CONUS)

  2. Manually create the mto_service_items table for the shipment: INSERT INTO mto_service_items ( id, mto_shipment_id, move_id, re_service_id, status, created_at, updated_at, approved_at ) VALUES ( uuid_generate_v4(), '8eeba537-bb40-4f58-a534-74ea9ff64590', '813b7a43-2e3f-42f3-8c4e-eca95390d5ca', '388115e8-abe9-441d-96cf-a39f24baa0a3', 'APPROVED'::service_item_status, NOW(), NOW(), NOW() );

  3. In the prime v3 api, call getMoveTaskOrder using the move_id for the service item you created in step 2. You will need the etag for the newly created service item for the next step.

  4. In the prime v1 api, call updateMTOServiceItem using a payload like this (adjust for you specific service item ID): { "id": "40b7e71a-6b03-4413-8601-dea694253ee3", "modelType": "UpdateMTOServiceItemInternationalPortFSC", "portCode": "PDX", "reServiceCode": "PODFSC" }

  5. Verify that you receive a 200 response like this: { "reServiceCode": "PODFSC", "eTag": "MjAyNC0xMi0wMlQxNjo0MjoxNi42NjUwNDla", "id": "40b7e71a-6b03-4413-8601-dea694253ee3", "modelType": "MTOServiceItemBasic", "moveTaskOrderID": "813b7a43-2e3f-42f3-8c4e-eca95390d5ca", "mtoShipmentID": "8eeba537-bb40-4f58-a534-74ea9ff64590", "reServiceName": "International POD Fuel Surcharge", "status": "APPROVED" }

  6. Login as a TOO user or any office user that has permissions to access the MTO page. Search up the move id that we used to setup the POD/POE. When you travel to the MTO Page, you should now see the Port of Embark or Debark populated with the Port Code, Port Name, City, State, and Zip associated with it.

Frontend

  • There are no aXe warnings for UI.
  • This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
  • There are no new console errors in the browser devtools.
  • There are no new console errors in the test output.
  • If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
  • This change meets the standards for Section 508 compliance.

Backend

Screenshots

image

msaki-caci and others added 30 commits December 10, 2024 18:23
Add descriptions for POE/POD Locations in swagger.
Update API call to pull Port info
Update MTOShipment.yaml to include Port
…on-Submit-move-details-task-order-with-files
Add POE/POD Location to MTOShipment payload
Make methods to pull the port location into the payload
update swagger definitions for POE/POD locations
…t-move-details-task-order-with-files

Main b 21373 validation submit move details task order with files
Display Port Location and data on frontend MTO page
Pull the port location back in mto_shipment_fetcher
@msaki-caci msaki-caci self-assigned this Dec 26, 2024

suite.Run("Success - Maps PortLocation to Port payload", func() {
// Arrange
portID, _ := uuid.NewV4()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could use the port_location_factory for all this data.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I am kinda playing around with that as we speak.

@@ -10830,6 +10927,8 @@ definitions:
storageFacility:
x-nullable: true
$ref: '#/definitions/StorageFacility'
port:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed? I see podLocation and poeLocation below, so I'm trying to think what this would be.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhhh might not be let me go back and look

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed it here 25c6790

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you would need to remove it from MTOShipment.yaml instead of from this generated ghc.yaml file if that makes sense.

@@ -1523,6 +1523,8 @@ func MTOShipment(storer storage.FileStorer, mtoShipment *models.MTOShipment, sit
DeliveryAddressUpdate: ShipmentAddressUpdate(mtoShipment.DeliveryAddressUpdate),
ShipmentLocator: handlers.FmtStringPtr(mtoShipment.ShipmentLocator),
MarketCode: MarketCode(&mtoShipment.MarketCode),
PoeLocation: getPortLocation(mtoShipment.MTOServiceItems, "POE"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could add a test for these new fields.

Refactor how dashes are shown for empty POD or POE
Rename Embark and Debark to Embarkation and Debarkation
Refactor test for change of POE/POD header
Remove unnecessary swagger definition for Port
@josiahzimmerman-caci
Copy link
Contributor

@msaki-caci not sure why the .gitlab-ci.yml is showing as a conflict but whatever is in main is correct.

@msaki-caci
Copy link
Contributor Author

@msaki-caci not sure why the .gitlab-ci.yml is showing as a conflict but whatever is in main is correct.

Yeah I just saw that, not really sure what happened there either. I will get it resolved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend frontend Go-Rillaz Go-Rillaz INTEGRATION Slated for Integration Testing
Development

Successfully merging this pull request may close these issues.

8 participants