diff options
| author | Shulhan <ms@kilabit.info> | 2023-01-20 17:57:53 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-01-20 18:33:08 +0700 |
| commit | 4159ddbf654ca4ee493ec5da1916f0cea9119777 (patch) | |
| tree | 4fd0bfff530ddba93c08dcea11a3ac0126980c95 | |
| parent | 60ef28a1de5f20ae13c4a5a01cb5aa6ee92d31b0 (diff) | |
| download | duitku-4159ddbf654ca4ee493ec5da1916f0cea9119777.tar.xz | |
all: fix and un-skip testing Clearing Inquiry and Transfer
| -rw-r--r-- | client_test.go | 61 | ||||
| -rw-r--r-- | testdata/disbursement/clearing_inquiry_test.txt | 12 | ||||
| -rw-r--r-- | testdata/disbursement/clearing_transfer_test.txt | 24 |
3 files changed, 48 insertions, 49 deletions
diff --git a/client_test.go b/client_test.go index a6ae299..67865ae 100644 --- a/client_test.go +++ b/client_test.go @@ -42,13 +42,13 @@ func TestClient_CheckBalance(t *testing.T) { } func TestClient_ClearingInquiry_sandbox(t *testing.T) { - t.Skip(`This test require external call to server`) - var ( - inquiryReq ClearingInquiry - err error tdata *test.Data - inquiryRes *ClearingInquiryResponse + reqInquiry *ClearingInquiry + gotInquiry *ClearingInquiryResponse + expInquiry *ClearingInquiryResponse + err error + rawb []byte ) tdata, err = test.LoadData(`testdata/disbursement/clearing_inquiry_test.txt`) @@ -56,33 +56,34 @@ func TestClient_ClearingInquiry_sandbox(t *testing.T) { t.Fatal(err) } - err = json.Unmarshal(tdata.Input[`request.json`], &inquiryReq) + err = json.Unmarshal(tdata.Input[`request.json`], &reqInquiry) if err != nil { t.Fatal(err) } - inquiryRes, err = testClient.ClearingInquiry(&inquiryReq) + gotInquiry, err = testClient.ClearingInquiry(reqInquiry) if err != nil { t.Fatal(err) } - // We cannot compare the response, because for each call to server - // it will return different DisburseID. - - t.Logf(`inquiryRes: %+v`, inquiryRes) - - test.Assert(t, `AccountName`, `Test Account`, inquiryRes.AccountName) + rawb = tdata.Output[`response.json`] + err = json.Unmarshal(rawb, &expInquiry) + if err != nil { + t.Fatal(err) + } + expInquiry.CustRefNumber = gotInquiry.CustRefNumber + expInquiry.DisburseID = gotInquiry.DisburseID + test.Assert(t, `ClearingInquiry`, expInquiry, gotInquiry) } func TestClient_ClearingTransfer_sandbox(t *testing.T) { - t.Skip(`This test require external call to server`) - var ( - inquiryReq ClearingInquiry - inquiryRes ClearingInquiryResponse + reqInquiry *ClearingInquiry + resInquiry *ClearingInquiryResponse - transferReq *ClearingTransfer - transferRes *ClearingTransferResponse + reqTransfer *ClearingTransfer + gotTransfer *ClearingTransferResponse + expTransfer *ClearingTransferResponse tdata *test.Data err error @@ -93,28 +94,30 @@ func TestClient_ClearingTransfer_sandbox(t *testing.T) { t.Fatal(err) } - err = json.Unmarshal(tdata.Input[`inquiry_request.json`], &inquiryReq) + err = json.Unmarshal(tdata.Input[`inquiry_request.json`], &reqInquiry) if err != nil { t.Fatal(err) } - err = json.Unmarshal(tdata.Input[`inquiry_response.json`], &inquiryRes) + + resInquiry, err = testClient.ClearingInquiry(reqInquiry) if err != nil { t.Fatal(err) } - transferReq = NewClearingTransfer(&inquiryReq, &inquiryRes) + reqTransfer = NewClearingTransfer(reqInquiry, resInquiry) - transferRes, err = testClient.ClearingTransfer(transferReq) + gotTransfer, err = testClient.ClearingTransfer(reqTransfer) if err != nil { t.Fatal(err) } - // We cannot compare the response, because for each call to server - // it will return different DisburseID. - - t.Logf(`transferRes: %+v`, transferRes) - - test.Assert(t, `AccountName`, `Test Account`, transferRes.AccountName) + err = json.Unmarshal(tdata.Output[`transfer_response.json`], &expTransfer) + if err != nil { + t.Fatal(err) + } + expTransfer.CustRefNumber = gotTransfer.CustRefNumber + expTransfer.DisburseID = gotTransfer.DisburseID + test.Assert(t, `ClearingTransfer`, expTransfer, gotTransfer) } func TestClient_InquiryStatus_sandbox(t *testing.T) { diff --git a/testdata/disbursement/clearing_inquiry_test.txt b/testdata/disbursement/clearing_inquiry_test.txt index 49437f2..65dc49b 100644 --- a/testdata/disbursement/clearing_inquiry_test.txt +++ b/testdata/disbursement/clearing_inquiry_test.txt @@ -6,8 +6,8 @@ "userId": 3551, "email": "test@chakratechnology.com", "amountTransfer": 10000, - "bankCode": "014", - "bankAccount": "8760673566", + "bankCode": "002", + "bankAccount": "8760673466", "purpose": "Test Clearing Inquiry with duitku.", "timestamp": 1506486841000, "custRefNumber": "12345789", @@ -19,12 +19,12 @@ <<< response.json { "email": "test@chakratechnology.com", - "bankCode": "014", - "bankAccount": "8760673566", + "bankCode": "002", + "bankAccount": "8760673466", "amountTransfer": 10000, "accountName": "Test Account", - "custRefNumber": "12345789", - "disburseId": 121012, + "custRefNumber": "<replaced>", + "disburseId": 0, "type": "LLG", "responseCode": "00", "responseDesc": "Approved or completed successfully" diff --git a/testdata/disbursement/clearing_transfer_test.txt b/testdata/disbursement/clearing_transfer_test.txt index fac7423..699cdd7 100644 --- a/testdata/disbursement/clearing_transfer_test.txt +++ b/testdata/disbursement/clearing_transfer_test.txt @@ -3,14 +3,10 @@ >>> inquiry_request.json { - "userId": 3551, - "email": "test@chakratechnology.com", "amountTransfer": 10000, - "bankCode": "014", - "bankAccount": "8760673566", - "purpose": "Test Clearing Inquiry with duitku.", - "timestamp": 1506486841000, - "custRefNumber": "12345789", + "bankCode": "002", + "bankAccount": "8760673466", + "purpose": "Test Clearing Transfer with duitku.", "senderId": 123456789, "senderName": "John Doe", "type": "LLG" @@ -19,12 +15,12 @@ >>> inquiry_response.json { "email": "test@chakratechnology.com", - "bankCode": "014", - "bankAccount": "8760673566", + "bankCode": "002", + "bankAccount": "8760673466", "amountTransfer": 10000, "accountName": "Test Account", - "custRefNumber": "12345789", - "disburseId": 121012, + "custRefNumber": "<replaced>", + "disburseId": 0, "type": "LLG", "responseCode": "00", "responseDesc": "Approved or completed successfully" @@ -33,11 +29,11 @@ <<< transfer_response.json { "email": "test@chakratechnology.com", - "bankCode": "014", - "bankAccount": "8760673566", + "bankCode": "002", + "bankAccount": "8760673466", "amountTransfer": 10000, "accountName": "Test Account", - "custRefNumber": "12345789", + "custRefNumber": "<replaced>", "type": "LLG", "responseCode": "00", "responseDesc": "Approved or completed successfully" |
