diff --git a/bank_test.go b/bank_test.go index 240e99f..cc58d46 100644 --- a/bank_test.go +++ b/bank_test.go @@ -73,6 +73,80 @@ func TestMarshalBankStatementRequest(t *testing.T) { marshalCheckRequest(t, &request, expectedString) } +func TestMarshalBankStatementRequest103(t *testing.T) { + var expectedString string = `OFXHEADER:100 +DATA:OFXSGML +VERSION:103 +SECURITY:NONE +ENCODING:USASCII +CHARSET:1252 +COMPRESSION:NONE +OLDFILEUID:NONE +NEWFILEUID:NONE + + + + + 20060115112300.000[-5:EST] + myusername + Pa$$word + ENG + + BNK + 1987 + + OFXGO + 0001 + + + + + 123 + + + 318398732 + 78346129 + CHECKING + + + Y + + + + +` + + var client = ofxgo.Client{ + AppId: "OFXGO", + AppVer: "0001", + SpecVersion: "103", + } + + var request ofxgo.Request + request.Signon.UserId = "myusername" + request.Signon.UserPass = "Pa$$word" + request.Signon.Org = "BNK" + request.Signon.Fid = "1987" + + statementRequest := ofxgo.StatementRequest{ + TrnUID: "123", + BankAcctFrom: ofxgo.BankAcct{ + BankId: "318398732", + AcctId: "78346129", + AcctType: ofxgo.AcctTypeChecking, + }, + Include: true, + } + request.Bank = append(request.Bank, &statementRequest) + + request.SetClientFields(&client) + // Overwrite the DtClient value set by SetClientFields to time.Now() + EST := time.FixedZone("EST", -5*60*60) + request.Signon.DtClient = *ofxgo.NewDate(2006, 1, 15, 11, 23, 0, 0, EST) + + marshalCheckRequest(t, &request, expectedString) +} + func TestUnmarshalBankStatementResponse(t *testing.T) { responseReader := strings.NewReader(`