feat(t242): delete unused freight orders
This commit is contained in:
@@ -534,6 +534,92 @@ func TestAdminFreightAPIImportsAllItemsWithoutPII(t *testing.T) {
|
||||
!strings.Contains(replay.Body.String(), createBody.Sync.ID) {
|
||||
t.Fatalf("replay status/body = %d / %s", replay.Code, replay.Body)
|
||||
}
|
||||
deletedOrderID := listBody.Items[0].ID
|
||||
deletedImageURL := detailBody.Items[0].ImageURL
|
||||
deleteResponse := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodDelete,
|
||||
"/api/v1/freight-orders/"+deletedOrderID,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
if deleteResponse.Code != http.StatusNoContent ||
|
||||
deleteResponse.Body.Len() != 0 ||
|
||||
deleteResponse.Header().Get("Cache-Control") != "no-store" {
|
||||
t.Fatalf(
|
||||
"delete status/body/headers = %d / %s / %#v",
|
||||
deleteResponse.Code,
|
||||
deleteResponse.Body,
|
||||
deleteResponse.Header(),
|
||||
)
|
||||
}
|
||||
deletedDetail := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodGet,
|
||||
"/api/v1/freight-orders/"+deletedOrderID,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
deletedImage := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodGet,
|
||||
deletedImageURL,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
repeatedDelete := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodDelete,
|
||||
"/api/v1/freight-orders/"+deletedOrderID,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
if deletedDetail.Code != http.StatusNotFound ||
|
||||
deletedImage.Code != http.StatusNotFound ||
|
||||
repeatedDelete.Code != http.StatusNoContent {
|
||||
t.Fatalf(
|
||||
"after delete detail/image/replay = %d / %d / %d",
|
||||
deletedDetail.Code,
|
||||
deletedImage.Code,
|
||||
repeatedDelete.Code,
|
||||
)
|
||||
}
|
||||
reimport := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodPost,
|
||||
"/api/v1/freight-syncs",
|
||||
"application/json",
|
||||
strings.NewReader(
|
||||
`{"mode":"ORDER_NUMBER","order_number":"SOURCE-12"}`,
|
||||
),
|
||||
"freight-sync-after-delete",
|
||||
)
|
||||
if reimport.Code != http.StatusCreated {
|
||||
t.Fatalf("reimport status/body = %d / %s", reimport.Code, reimport.Body)
|
||||
}
|
||||
reimportedList := performAdminRequest(
|
||||
t,
|
||||
router,
|
||||
http.MethodGet,
|
||||
"/api/v1/freight-orders",
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
decodeResponse(t, reimportedList, &listBody)
|
||||
if len(listBody.Items) != 1 ||
|
||||
listBody.Items[0].ID == deletedOrderID {
|
||||
t.Fatalf("reimported orders = %+v", listBody.Items)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAdminFreightDateSyncAdvancesInspectableWatermark(t *testing.T) {
|
||||
@@ -687,6 +773,26 @@ func TestAdminProcurementAPIProducesImmutablePendingTask(t *testing.T) {
|
||||
createRequest.Body,
|
||||
)
|
||||
}
|
||||
deleteInUse := performAdminRequest(
|
||||
t,
|
||||
fixture.router,
|
||||
http.MethodDelete,
|
||||
"/api/v1/freight-orders/"+orderBody.Items[0].ID,
|
||||
"",
|
||||
nil,
|
||||
"",
|
||||
)
|
||||
if deleteInUse.Code != http.StatusConflict ||
|
||||
!strings.Contains(
|
||||
deleteInUse.Body.String(),
|
||||
`"code":"FREIGHT_ORDER_IN_USE"`,
|
||||
) {
|
||||
t.Fatalf(
|
||||
"delete in-use status/body = %d / %s",
|
||||
deleteInUse.Code,
|
||||
deleteInUse.Body,
|
||||
)
|
||||
}
|
||||
var requestBody struct {
|
||||
Request struct {
|
||||
ID string `json:"id"`
|
||||
|
||||
Reference in New Issue
Block a user