From 4159ddbf654ca4ee493ec5da1916f0cea9119777 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Fri, 20 Jan 2023 17:57:53 +0700 Subject: all: fix and un-skip testing Clearing Inquiry and Transfer --- client_test.go | 61 +++++++++++++----------- testdata/disbursement/clearing_inquiry_test.txt | 12 ++--- 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": "", + "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": "", + "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": "", "type": "LLG", "responseCode": "00", "responseDesc": "Approved or completed successfully" -- cgit v1.3