/
bank_statement_test.go
84 lines (67 loc) · 1.93 KB
/
bank_statement_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package bankly_test
import (
"context"
"net/http"
"testing"
"time"
"github.com/contbank/bankly-sdk"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
)
type BankStatementTestSuite struct {
suite.Suite
assert *assert.Assertions
ctx context.Context
session *bankly.Session
bank *bankly.BankStatement
}
func TestBankStatementTestSuite(t *testing.T) {
suite.Run(t, new(BankStatementTestSuite))
}
func (s *BankStatementTestSuite) SetupTest() {
s.assert = assert.New(s.T())
s.ctx = context.Background()
session, err := bankly.NewSession(bankly.Config{
ClientID: bankly.String(*bankly.GetEnvBanklyClientID()),
ClientSecret: bankly.String(*bankly.GetEnvBanklyClientSecret()),
Scopes: bankly.String("events.read"),
})
s.assert.NoError(err)
httpClient := &http.Client{
Timeout: 30 * time.Second,
}
s.session = session
s.bank = bankly.NewBankStatement(httpClient, *s.session)
}
func (s *BankStatementTestSuite) TestFilterBankStatements() {
// TODO corrigir este teste. Pode ser que não tenha esta conta.
s.T().Skip("Criar a conta e depois dar um filter.")
endTime := time.Now().Add(-24 * time.Hour)
req := &bankly.FilterBankStatementRequest{
Branch: "0001",
Account: "184039",
Page: 1,
PageSize: 1,
IncludeDetails: true,
EndDateTime: &endTime,
CardProxy: []string{"123", "456"},
}
r, err := s.bank.FilterBankStatements(s.ctx, req)
s.assert.NoError(err)
s.assert.NotEmpty(r)
}
func (s *BankStatementTestSuite) TestFilterBankStatements_InvalidPageSizeError() {
endTime := time.Now().Add(-24 * time.Hour)
req := &bankly.FilterBankStatementRequest{
Branch: "0001",
Account: "184039",
Page: 1,
PageSize: 500,
IncludeDetails: true,
EndDateTime: &endTime,
CardProxy: []string{"123", "456"},
}
r, err := s.bank.FilterBankStatements(s.ctx, req)
s.assert.Error(err)
s.assert.Nil(r)
}