fix(t243): allow deleting unreferenced procurement drafts
This commit is contained in:
@@ -1330,7 +1330,11 @@ func TestFreightDeleteRequiresConfirmationAndHandlesConflict(t *testing.T) {
|
||||
)
|
||||
if detail.Code != http.StatusOK ||
|
||||
!strings.Contains(detail.Body.String(), "删除本地货运单") ||
|
||||
!strings.Contains(detail.Body.String(), "data-freight-delete-dialog") {
|
||||
!strings.Contains(detail.Body.String(), "data-freight-delete-dialog") ||
|
||||
!strings.Contains(
|
||||
detail.Body.String(),
|
||||
"未绑定参考图的采购需求草稿",
|
||||
) {
|
||||
t.Fatalf("delete controls status/body = %d / %s", detail.Code, detail.Body)
|
||||
}
|
||||
cookie := csrfCookie(t, detail)
|
||||
@@ -1374,7 +1378,7 @@ func TestFreightDeleteRequiresConfirmationAndHandlesConflict(t *testing.T) {
|
||||
)
|
||||
}
|
||||
|
||||
service.deleteErr = ErrFreightOrderInUse
|
||||
service.deleteErr = ErrFreightOrderHasReference
|
||||
request = httptest.NewRequest(
|
||||
http.MethodPost,
|
||||
"/freight/"+testTaskID+"/delete",
|
||||
@@ -1386,10 +1390,32 @@ func TestFreightDeleteRequiresConfirmationAndHandlesConflict(t *testing.T) {
|
||||
router.ServeHTTP(response, request)
|
||||
if response.Code != http.StatusSeeOther ||
|
||||
response.Header().Get("Location") !=
|
||||
"/freight/"+testTaskID+"?notice=delete-conflict" ||
|
||||
"/freight/"+testTaskID+"?notice=delete-reference-conflict" ||
|
||||
len(logged) != 1 {
|
||||
t.Fatalf(
|
||||
"conflicting delete status/location/log = %d / %q / %#v",
|
||||
"reference conflict status/location/log = %d / %q / %#v",
|
||||
response.Code,
|
||||
response.Header().Get("Location"),
|
||||
logged,
|
||||
)
|
||||
}
|
||||
|
||||
service.deleteErr = ErrFreightOrderHasPurchaseTask
|
||||
request = httptest.NewRequest(
|
||||
http.MethodPost,
|
||||
"/freight/"+testTaskID+"/delete",
|
||||
strings.NewReader(values.Encode()),
|
||||
)
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
request.AddCookie(cookie)
|
||||
response = httptest.NewRecorder()
|
||||
router.ServeHTTP(response, request)
|
||||
if response.Code != http.StatusSeeOther ||
|
||||
response.Header().Get("Location") !=
|
||||
"/freight/"+testTaskID+"?notice=delete-task-conflict" ||
|
||||
len(logged) != 1 {
|
||||
t.Fatalf(
|
||||
"task conflict status/location/log = %d / %q / %#v",
|
||||
response.Code,
|
||||
response.Header().Get("Location"),
|
||||
logged,
|
||||
|
||||
Reference in New Issue
Block a user