diff options
| author | Shulhan <ms@kilabit.info> | 2022-11-04 19:21:35 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-11-04 19:23:41 +0700 |
| commit | 84e72cd4f383db1bfbf8b04471911217538bd49d (patch) | |
| tree | 9eb695ea02dee1562d9ed509df7aa266bd34e6a5 /client_test.go | |
| parent | 0eef440900eda71b3a257707e49e0ad53be5353f (diff) | |
| download | duitku-84e72cd4f383db1bfbf8b04471911217538bd49d.tar.xz | |
all: implement API to do online transfer
The RtolTransfer do the actual transfer to customer's bank account using
the request and response from RtolInquiry.
Diffstat (limited to 'client_test.go')
| -rw-r--r-- | client_test.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/client_test.go b/client_test.go index 09db153..e1fdc4d 100644 --- a/client_test.go +++ b/client_test.go @@ -77,6 +77,45 @@ func TestClient_RtolInquiry_live(t *testing.T) { test.Assert(t, `AccountName`, `Test Account`, inquiryRes.AccountName) } +func TestClient_RtolTransfer_sandbox(t *testing.T) { + t.Skip(`This test require external call to server`) + + var ( + err error + tdata *test.Data + inquiryReq *RtolInquiry + inquiryRes *RtolInquiryResponse + transferRes *RtolTransferResponse + ) + + tdata, err = test.LoadData(`testdata/disbursement_rtol_transfer_test.txt`) + if err != nil { + t.Fatal(err) + } + + err = json.Unmarshal(tdata.Input[`request_inquiry.json`], &inquiryReq) + if err != nil { + t.Fatal(err) + } + + inquiryRes, err = testClient.RtolInquiry(*inquiryReq) + if err != nil { + t.Fatal(err) + } + + transferRes, err = testClient.RtolTransfer(*inquiryReq, *inquiryRes) + if err != nil { + t.Fatal(err) + } + + // We cannot compare the response, because for each call to server + // it will return different CustRefNumber and DisburseID. + + t.Logf(`RtolTransfer response: %+v`, transferRes) + + test.Assert(t, `AccountName`, `Test Account`, inquiryRes.AccountName) +} + func TestClient_DisbursementListBank(t *testing.T) { var ( tdata *test.Data |
