github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/bb/validations_test.go (about) 1 package bb 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/mundipagg/boleto-api/models" 8 "github.com/mundipagg/boleto-api/test" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 var boletoRequestParameters = []test.Parameter{ 13 { 14 Line: 0, 15 Input: newStubBoletoRequestBB().Build(), 16 Expected: nil, 17 }, 18 { 19 Line: 1, 20 Input: newStubBoletoRequestBB().WithTitle(models.Title{DocumentNumber: "loja"}).Build(), 21 Expected: nil, 22 }, 23 { 24 Line: 2, 25 Input: newStubBoletoRequestBB().WithTitle(models.Title{DocumentNumber: "123456"}).Build(), 26 Expected: nil, 27 }, 28 { 29 Line: 3, 30 Input: newStubBoletoRequestBB().WithTitle(models.Title{DocumentNumber: "lojas-15-digito"}).Build(), 31 Expected: nil, 32 }, 33 { 34 Line: 4, 35 Input: newStubBoletoRequestBB().WithTitle(models.Title{DocumentNumber: "lojas-16-digitos"}).Build(), 36 Expected: models.NewErrorResponse("MP400", "O campo documentNumber do tÃtulo ultrapassou o limite permitido de 15 caracteres"), 37 }, 38 } 39 40 func Test_GivenTheValidateTitleDocumentNumberMethodWasCalled_ThenItShouldCorrectlyValidateTheField(t *testing.T) { 41 for _, fact := range boletoRequestParameters { 42 boletoRequest := fact.Input.(*models.BoletoRequest) 43 44 result := bbValidateTitleDocumentNumber(boletoRequest) 45 46 assert.Equal(t, fact.Expected, result, fmt.Sprintf("bbValidateTitleDocumentNumber - Linha %d: Deve validar o campo documentNumber corretamente", fact.Line)) 47 } 48 }