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

     1  package test
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/mundipagg/boleto-api/models"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func Test_StubBoletoRequest_WhenCreateAndSetBoletoRequest_ReturnBoletoRequestSuccessful(t *testing.T) {
    12  
    13  	expectedAgreementNumber := uint(1234)
    14  	expectedAgreementAgency := "1234"
    15  	expectedAgreementAccount := "123456"
    16  	expectedAmountInCents := uint64(100)
    17  	expectedExpirationDate := time.Now()
    18  	expectedOurNumber := uint(1234567890)
    19  	expectedRecipientDocument := "12.123.123-0001/11"
    20  	expectedAcceptDivergentAmount := true
    21  	expectedInstructions := "campo de instruções"
    22  	expectedBuyerName := "Nome Do Comprador"
    23  	expectedZipCode := "12345-123"
    24  
    25  	s := NewStubBoletoRequest(models.BancoDoBrasil)
    26  	s.WithAgreementNumber(expectedAgreementNumber)
    27  	s.WithAgreementAgency(expectedAgreementAgency)
    28  	s.WithAgreementAccount(expectedAgreementAccount)
    29  	s.WithAmountInCents(uint64(expectedAmountInCents))
    30  	s.WithExpirationDate(expectedExpirationDate)
    31  	s.WithOurNumber(expectedOurNumber)
    32  	s.WithRecipientDocumentNumber(expectedRecipientDocument)
    33  	s.WithAcceptDivergentAmount(expectedAcceptDivergentAmount)
    34  	s.WithInstructions(expectedInstructions)
    35  	s.WithBuyerName(expectedBuyerName)
    36  	s.WithBuyerZipCode(expectedZipCode)
    37  
    38  	b := s.Build()
    39  
    40  	assert.NotEmpty(t, b)
    41  	assert.Equal(t, expectedAgreementNumber, s.Agreement.AgreementNumber)
    42  	assert.Equal(t, expectedAgreementAgency, s.Agreement.Agency)
    43  	assert.Equal(t, expectedAgreementAccount, s.Agreement.Account)
    44  	assert.Equal(t, expectedAmountInCents, s.Title.AmountInCents)
    45  	assert.Equal(t, expectedExpirationDate, s.Title.ExpireDateTime)
    46  	assert.Equal(t, expectedOurNumber, s.Title.OurNumber)
    47  	assert.Equal(t, expectedAcceptDivergentAmount, s.Title.Rules.AcceptDivergentAmount)
    48  	assert.Equal(t, expectedRecipientDocument, s.Recipient.Document.Number)
    49  	assert.Equal(t, expectedInstructions, s.Title.Instructions)
    50  	assert.Equal(t, expectedBuyerName, s.Buyer.Name)
    51  	assert.Equal(t, expectedZipCode, s.Buyer.Address.ZipCode)
    52  }