Skip to content

Commit bb343f1

Browse files
Merge pull request #50 from brazzcore/feature/49-refactor-package-names
[feature/49] :: renamed package names and other adjustments
2 parents 920442f + 56c88c5 commit bb343f1

File tree

24 files changed

+315
-315
lines changed

24 files changed

+315
-315
lines changed

README.md

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,33 +38,29 @@ Basic Usage
3838
Import the library into your project and start generating mocks:
3939

4040
```go
41-
// specific
42-
translations.SetLanguage("ptbr")
43-
44-
addr, err := address.GenerateAddress()
41+
// Create a Mocker instance for Portuguese
42+
ptMocker, err := mocai.NewMocker("ptbr", true)
4543
if err != nil {
46-
log.Println(err)
44+
log.Fatal(err)
4745
}
4846

49-
addr.Street // returns street name
50-
```
47+
// Access mock data
48+
fmt.Printf("Address: %s\n", ptMocker.Address.Street)
49+
fmt.Printf("Phone: %s\n", ptMocker.Phone.Number)
5150

52-
```go
53-
// mocker
54-
m, err := mocai.NewMocker("ptbr")
51+
// For data in a different language, create a new instance
52+
enMocker, err := mocai.NewMocker("en", true)
5553
if err != nil {
56-
log.Println(err)
54+
log.Fatal(err)
5755
}
58-
59-
m.Address().Street // returns street name
60-
m.Phone().Number // returns phone number
6156
```
62-
### Examples
63-
The ***examples*** folder contains samples of how to use the library, organized by approach:
6457

65-
- `specific/`: Examples using direct calls to each of Mocaí's mockable entities (e.g., phone.GeneratePhone, etc).
58+
> **Important**: Each Mocker instance is immutable and contains data in the language specified at creation time. To get data in a different language, always create a new instance using NewMocker.
59+
60+
### Examples
61+
The ***examples*** folder contains samples of how to use the library:
6662

67-
- `mocker/`: Example using a main entry point `mocai.NewMocker("ptbr")` to generate mocks in a fluent and simplified way.
63+
- `mocker/`: Example using a main entry point `mocai.NewMocker(lang string, isFormatted bool)` to generate mocks in a fluent and simplified way.
6864

6965
To run an example, navigate to the desired directory and run:
7066
```

docs/localization/pt/README-PT.md

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,34 +36,29 @@ Uso Básico
3636
Importe a biblioteca em seu projeto e comece a gerar mocks:
3737

3838
```go
39-
// specific
40-
translations.SetLanguage("ptbr")
41-
42-
addr, err := address.GenerateAddress()
39+
// Cria uma instância do Mocker para português
40+
ptMocker, err := mocai.NewMocker("ptbr", true)
4341
if err != nil {
44-
log.Println(err)
42+
log.Fatal(err)
4543
}
4644

47-
addr.Street // retorna o nome da rua
48-
```
45+
// Acessa os dados mock
46+
fmt.Printf("Endereço: %s\n", ptMocker.Address.Street)
47+
fmt.Printf("Telefone: %s\n", ptMocker.Phone.Number)
4948

50-
```go
51-
// mocker
52-
m, err := mocai.NewMocker("ptbr")
49+
// Para dados em outro idioma, crie uma nova instância
50+
enMocker, err := mocai.NewMocker("en", true)
5351
if err != nil {
54-
log.Println(err)
52+
log.Fatal(err)
5553
}
56-
57-
m.Address().Street // retorna o nome da rua
58-
m.Phone().Number // retorna o número de telefone
5954
```
6055

61-
### Exemplos
62-
O diretório ***examples*** contém exemplos de comoo usar a biblioteca, organizados por abordagem:
56+
> **Importante**: Cada instância do Mocker é imutável e contém dados no idioma especificado no momento da criação. Para obter dados em um idioma diferente, sempre crie uma nova instância usando NewMocker.
6357
64-
- `specific/`: Exemplos usando as funções diretas de cada entidade mockável do Mocaí (`phone.GeneratePhone`, etc).
58+
### Exemplos
59+
O diretório ***examples*** contém exemplos de como usar a biblioteca:
6560

66-
- `mocker/`: Exemplo usando um ponto de entrada principal `mocai.NewMocker("ptbr")` para gerar mocks de maneira fluida e simplificada.
61+
- `mocker/`: Exemplo usando um ponto de entrada principal `mocai.NewMocker(lang string, isFormatted bool)` para gerar mocks de maneira fluida e simplificada.
6762

6863
Para executar um exemplo, acesse o diretório desejado e execute:
6964
```

examples/mocker/main.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,15 @@ func main() {
1515

1616
// Initialize mocai and set a supported language
1717
// If the language is not available, the default language pt-BR will be set
18-
m, err := mocai.NewMocker("ptbr")
18+
m, err := mocai.NewMocker("ptbr", true)
1919
if err != nil {
2020
log.Println(err)
2121
}
2222
// Generate mock data
2323
// You can select which entity attributes to use
2424
// by accessing the entity and its fields
25-
m.Person() // m.Person().Age, m.Person().CPF...
26-
m.Address() // m.Address().City, m.Address().Number...
27-
m.Phone() // m.Phone().AreaCode, m.Phone().Number
28-
29-
// Printing mocks example
30-
addr := m.Address()
3125
fmt.Printf("Address: %s, %d - %s, %s (%s) - %s\n",
32-
addr.Street, addr.Number, addr.City, addr.State, addr.UF, addr.ZIP)
26+
m.Address.Street, m.Address.Number, m.Address.City, m.Address.State, m.Address.UF, m.Address.ZIP)
3327

3428
fmt.Println(cli.Footer)
3529
}

examples/specific/main.go

Lines changed: 0 additions & 96 deletions
This file was deleted.

pkg/mocai/entities/address/generator.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,18 @@ type SlicesToCheck struct {
2323
err error
2424
}
2525

26+
// NewAddress creates and returns a new Address with randomly generated data.
27+
func NewAddress() (*Address, error) {
28+
addr, err := (&Address{}).generateAddress()
29+
if err != nil {
30+
return nil, err
31+
}
32+
return addr, nil
33+
}
34+
2635
// GenerateAddress generates a mock address with random data.
2736
// It returns a pointer to an Address and an error if the generation fails.
28-
func GenerateAddress() (*Address, error) {
37+
func (a *Address) generateAddress() (*Address, error) {
2938
lang := translations.GetLanguage()
3039

3140
// Get the list of streets, cities, states, and ZIP codes

pkg/mocai/entities/certificate/countries/brazilian_certificates.go

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -47,31 +47,31 @@ type DeathCertificate struct {
4747

4848
// BrazilianCertificates represents all brazilian certificates
4949
type BrazilianCertificates struct {
50-
BirthCertificate *BirthCertificate
51-
MarriageCertificate *MarriageCertificate
52-
DeathCertificate *DeathCertificate
50+
BirthCertificate BirthCertificate
51+
MarriageCertificate MarriageCertificate
52+
DeathCertificate DeathCertificate
5353
}
5454

5555
// GenerateBrazilianCertificates generates a valid brazilian certificates
5656
// If formatted is true, returns the number with separators (-)
5757
// Returns a pointer to BrazilianCertificates and error if any validation fails
58-
func GenerateBrazilianCertificates(formatted bool) (*BrazilianCertificates, error) {
58+
func GenerateBrazilianCertificates(formatted bool) (BrazilianCertificates, error) {
5959
createdBirthCertificate, err := generateBirthCertificate(formatted)
6060
if err != nil {
61-
return nil, err
61+
return BrazilianCertificates{}, err
6262
}
6363

6464
createdMarriageCertificate, err := generateMarriageCertificate(formatted)
6565
if err != nil {
66-
return nil, err
66+
return BrazilianCertificates{}, err
6767
}
6868

6969
createdDeathCertificate, err := generateDeathCertificate(formatted)
7070
if err != nil {
71-
return nil, err
71+
return BrazilianCertificates{}, err
7272
}
7373

74-
createdBrazilianCertificates := &BrazilianCertificates{
74+
createdBrazilianCertificates := BrazilianCertificates{
7575
BirthCertificate: createdBirthCertificate,
7676
MarriageCertificate: createdMarriageCertificate,
7777
DeathCertificate: createdDeathCertificate,
@@ -84,12 +84,12 @@ func GenerateBrazilianCertificates(formatted bool) (*BrazilianCertificates, erro
8484
// If formatted is true, returns the number with separators (-)
8585
// certificateType is the type of certificate [1 - for birth certificate, 2 - for marriage certificate, 3 - for death certificate]
8686
// Returns a pointer to BaseCertificate and error if any validation fails
87-
func generateCertificate(formatted bool, certificateType int) (*BaseCertificate, error) {
87+
func generateCertificate(formatted bool, certificateType int) (BaseCertificate, error) {
8888
// Registry Office
8989
// 1. Vital Records Office [6 digits]
9090
vitalRecordsOffice := generateRandomNumber(100000, 899999)
9191
if vitalRecordsOffice < 0 {
92-
return nil, ErrInvalidVitalRecordsOffice
92+
return BaseCertificate{}, ErrInvalidVitalRecordsOffice
9393
}
9494

9595
// 2. Archive [2 digits]
@@ -107,26 +107,26 @@ func generateCertificate(formatted bool, certificateType int) (*BaseCertificate,
107107
// 6. Book number [5 digits]
108108
bookNumber := generateRandomNumber(10000, 89999)
109109
if bookNumber < 0 {
110-
return nil, ErrInvalidBookNumber
110+
return BaseCertificate{}, ErrInvalidBookNumber
111111
}
112112

113113
// 7. Page number [3 digits]
114114
pageNumber := generateRandomNumber(100, 899)
115115
if pageNumber < 0 {
116-
return nil, ErrInvalidPageNumber
116+
return BaseCertificate{}, ErrInvalidPageNumber
117117
}
118118

119119
// 8. Term number [7 digits]
120120
termNumber := generateRandomNumber(1000000, 8999999)
121121
if termNumber < 0 {
122-
return nil, ErrInvalidTermNumber
122+
return BaseCertificate{}, ErrInvalidTermNumber
123123
}
124124

125125
// Number without check digits [30 digits]
126126
numberWithoutCheckDigits := fmt.Sprintf("%06d%02d%02d%04d%d%05d%03d%07d",
127127
vitalRecordsOffice, archiveCode, serviceType, birthYear, certificateType, bookNumber, pageNumber, termNumber)
128128
if len(numberWithoutCheckDigits) != 30 {
129-
return nil, ErrInvalidNumberWithoutCheckDigits
129+
return BaseCertificate{}, ErrInvalidNumberWithoutCheckDigits
130130
}
131131

132132
// 9. Check digits calculation [2 digits]
@@ -139,10 +139,10 @@ func generateCertificate(formatted bool, certificateType int) (*BaseCertificate,
139139
}
140140

141141
if certificateNumber == "" {
142-
return nil, ErrInvalidCertificate
142+
return BaseCertificate{}, ErrInvalidCertificate
143143
}
144144

145-
createdBaseCertificate := &BaseCertificate{
145+
createdBaseCertificate := BaseCertificate{
146146
VitalRecordsOffice: vitalRecordsOffice,
147147
ArchiveCode: archiveCode,
148148
ServiceType: serviceType,
@@ -159,42 +159,42 @@ func generateCertificate(formatted bool, certificateType int) (*BaseCertificate,
159159
}
160160

161161
// generateBirthCertificate generates a valid Brazilian birth certificate
162-
func generateBirthCertificate(formatted bool) (*BirthCertificate, error) {
162+
func generateBirthCertificate(formatted bool) (BirthCertificate, error) {
163163
base, err := generateCertificate(formatted, brazilianBirthCertificateType)
164164
if err != nil {
165-
return nil, err
165+
return BirthCertificate{}, err
166166
}
167167

168-
createdBirthCertificate := &BirthCertificate{
169-
BaseCertificate: *base,
168+
createdBirthCertificate := BirthCertificate{
169+
BaseCertificate: base,
170170
}
171171

172172
return createdBirthCertificate, nil
173173
}
174174

175175
// generateMarriageCertificate generates a valid Brazilian marriage certificate
176-
func generateMarriageCertificate(formatted bool) (*MarriageCertificate, error) {
176+
func generateMarriageCertificate(formatted bool) (MarriageCertificate, error) {
177177
base, err := generateCertificate(formatted, brazilianMarriageCertificateType)
178178
if err != nil {
179-
return nil, err
179+
return MarriageCertificate{}, err
180180
}
181181

182-
createdMarriageCertificate := &MarriageCertificate{
183-
BaseCertificate: *base,
182+
createdMarriageCertificate := MarriageCertificate{
183+
BaseCertificate: base,
184184
}
185185

186186
return createdMarriageCertificate, nil
187187
}
188188

189189
// generateDeathCertificate generates a valid Brazilian death certificate
190-
func generateDeathCertificate(formatted bool) (*DeathCertificate, error) {
190+
func generateDeathCertificate(formatted bool) (DeathCertificate, error) {
191191
base, err := generateCertificate(formatted, brazilianDeathCertificateType)
192192
if err != nil {
193-
return nil, err
193+
return DeathCertificate{}, err
194194
}
195195

196-
createdDeathCertificate := &DeathCertificate{
197-
BaseCertificate: *base,
196+
createdDeathCertificate := DeathCertificate{
197+
BaseCertificate: base,
198198
}
199199

200200
return createdDeathCertificate, nil

0 commit comments

Comments
 (0)