Skip to content

Commit 4f0477a

Browse files
CROSSLINK-304 Don't reuse supplier actions
1 parent 6e1db59 commit 4f0477a

2 files changed

Lines changed: 23 additions & 7 deletions

File tree

broker/patron_request/service/action.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -711,13 +711,31 @@ func (a *PatronRequestActionService) sendNotificationBorrowingRequest(ctx common
711711
}
712712

713713
func (a *PatronRequestActionService) cancelLocalBorrowingRequest(ctx common.ExtendedContext, pr pr_db.PatronRequest) actionExecutionResult {
714-
// Should do the same as when supplier sends cancel
715-
return a.rejectCancelLenderRequest(ctx, pr)
714+
result := events.EventResult{}
715+
status, eventResult, httpStatus := a.sendSupplyingAgencyMessage(ctx, pr, &result,
716+
iso18626.MessageInfo{
717+
ReasonForMessage: iso18626.TypeReasonForMessageCancelResponse,
718+
},
719+
iso18626.StatusInfo{Status: iso18626.TypeStatusWillSupply},
720+
nil)
721+
return a.checkSupplyingResponse(status, eventResult, &result, httpStatus, pr)
716722
}
717723

718724
func (a *PatronRequestActionService) cannotSupplyLocallyBorrowingRequest(ctx common.ExtendedContext, pr pr_db.PatronRequest, params actionParams) actionExecutionResult {
719-
// Should do the same as when supplier sends cannot supply
720-
return a.cannotSupplyLenderRequest(ctx, pr, params)
725+
result := events.EventResult{}
726+
var reasonUnfilled *iso18626.TypeSchemeValuePair
727+
if params.ReasonUnfilled != "" {
728+
reasonUnfilled = &iso18626.TypeSchemeValuePair{Text: params.ReasonUnfilled}
729+
}
730+
status, eventResult, httpStatus := a.sendSupplyingAgencyMessage(ctx, pr, &result,
731+
iso18626.MessageInfo{
732+
ReasonForMessage: iso18626.TypeReasonForMessageStatusChange,
733+
Note: params.Note,
734+
ReasonUnfilled: reasonUnfilled,
735+
},
736+
iso18626.StatusInfo{Status: iso18626.TypeStatusUnfilled},
737+
nil)
738+
return a.checkSupplyingResponse(status, eventResult, &result, httpStatus, pr)
721739
}
722740

723741
func (a *PatronRequestActionService) fillLocallyBorrowingRequest(ctx common.ExtendedContext, pr pr_db.PatronRequest, lmsAdapter lms.LmsAdapter, illRequest iso18626.Request, params actionParams) actionExecutionResult {

broker/patron_request/service/action_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2650,9 +2650,7 @@ func TestHandleInvokeBorrowerActionCancelLocalSupply(t *testing.T) {
26502650
assert.Equal(t, iso18626.TypeReasonForMessageCancelResponse, mockIso18626Handler.lastSupplyingAgencyMessage.MessageInfo.ReasonForMessage)
26512651
assert.Equal(t, iso18626.TypeStatusWillSupply, mockIso18626Handler.lastSupplyingAgencyMessage.StatusInfo.Status)
26522652
assert.False(t, mockIso18626Handler.lastSupplyingAgencyMessage.Header.Timestamp.IsZero())
2653-
if assert.NotNil(t, mockIso18626Handler.lastSupplyingAgencyMessage.MessageInfo.AnswerYesNo) {
2654-
assert.Equal(t, iso18626.TypeYesNoN, *mockIso18626Handler.lastSupplyingAgencyMessage.MessageInfo.AnswerYesNo)
2655-
}
2653+
assert.Nil(t, mockIso18626Handler.lastSupplyingAgencyMessage.MessageInfo.AnswerYesNo)
26562654
}
26572655

26582656
func TestHandleInvokeBorrowerActionCannotSupplyLocally(t *testing.T) {

0 commit comments

Comments
 (0)