github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/itau/stub.go (about)

     1  package itau
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/mundipagg/boleto-api/models"
     7  	"github.com/mundipagg/boleto-api/test"
     8  )
     9  
    10  const day = time.Hour * 24
    11  
    12  type stubBoletoRequestItau struct {
    13  	test.StubBoletoRequest
    14  }
    15  
    16  //newStubBoletoRequestItau Cria um novo StubBoletoRequest com valores default validáveis para o Itau
    17  func newStubBoletoRequestItau() *stubBoletoRequestItau {
    18  	expirationDate := time.Now().Add(5 * day)
    19  
    20  	base := test.NewStubBoletoRequest(models.Itau)
    21  	s := &stubBoletoRequestItau{
    22  		StubBoletoRequest: *base,
    23  	}
    24  
    25  	s.Authentication = models.Authentication{
    26  		Username:  "a",
    27  		Password:  "b",
    28  		AccessKey: "c",
    29  	}
    30  
    31  	s.Agreement = models.Agreement{
    32  		AgreementNumber: 267,
    33  		Wallet:          109,
    34  		Agency:          "0407",
    35  		Account:         "55292",
    36  		AccountDigit:    "6",
    37  	}
    38  
    39  	s.Title = models.Title{
    40  		ExpireDateTime: expirationDate,
    41  		ExpireDate:     "2050-12-30",
    42  		AmountInCents:  200,
    43  	}
    44  
    45  	s.Recipient = models.Recipient{
    46  		Document: models.Document{
    47  			Type:   "CNPJ",
    48  			Number: "00123456789067",
    49  		},
    50  	}
    51  
    52  	s.Buyer = models.Buyer{
    53  		Name:  "Usuario Teste",
    54  		Email: "p@p.com",
    55  		Document: models.Document{
    56  			Type:   "CNPJ",
    57  			Number: "00001234567890",
    58  		},
    59  		Address: models.Address{
    60  			Street:     "Rua Teste",
    61  			Number:     "2",
    62  			Complement: "SALA 1",
    63  			ZipCode:    "20931-001",
    64  			City:       "Rio de Janeiro",
    65  			District:   "Centro",
    66  			StateCode:  "RJ",
    67  		},
    68  	}
    69  	return s
    70  }
    71  
    72  func (s *stubBoletoRequestItau) WithAuthenticationUserName(userName string) *stubBoletoRequestItau {
    73  	s.Authentication = models.Authentication{
    74  		Username: userName,
    75  	}
    76  	return s
    77  }